aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xemcc2
-rw-r--r--emscripten-version.txt2
-rwxr-xr-xemscripten.py41
-rw-r--r--src/library_browser.js17
-rw-r--r--src/library_sdl.js1
-rw-r--r--src/runtime.js9
-rw-r--r--tests/emscripten_fs_api_browser.cpp5
-rw-r--r--tests/fuzz/20.cpp977
-rw-r--r--tests/fuzz/20.cpp.txt1
-rw-r--r--tests/fuzz/21.c2332
-rw-r--r--tests/fuzz/21.c.txt1
-rw-r--r--tests/return64bit/test.c6
-rw-r--r--tests/return64bit/testbind.js18
-rw-r--r--tests/return64bit/testbindend.js2
-rw-r--r--tests/return64bit/testbindstart.js3
-rw-r--r--tests/sdl_audio_quickload.c44
-rw-r--r--tests/test_browser.py2
-rw-r--r--tests/test_core.py26
-rw-r--r--tests/test_interactive.py6
-rw-r--r--tests/test_other.py25
-rw-r--r--tools/shared.py6
21 files changed, 3449 insertions, 77 deletions
diff --git a/emcc b/emcc
index 1629f5c7..2dc525af 100755
--- a/emcc
+++ b/emcc
@@ -1223,6 +1223,8 @@ try:
value = '"@' + os.path.abspath(value[1:]) + '"'
value = value.replace('\\\\', '/').replace('\\', '/') # Convert backslash paths to forward slashes on Windows as well, since the JS compiler otherwise needs the backslashes escaped (alternative is to escape all input paths passing to JS, which feels clumsier to read)
exec('shared.Settings.' + key + ' = ' + value)
+ if key == 'EXPORTED_FUNCTIONS':
+ shared.Settings.ORIGINAL_EXPORTED_FUNCTIONS = shared.Settings.EXPORTED_FUNCTIONS[:] # used for warnings in emscripten.py
fastcomp = os.environ.get('EMCC_FAST_COMPILER') != '0'
diff --git a/emscripten-version.txt b/emscripten-version.txt
index 2ef35729..6cee04e0 100644
--- a/emscripten-version.txt
+++ b/emscripten-version.txt
@@ -1,2 +1,2 @@
-1.17.1
+1.18.1
diff --git a/emscripten.py b/emscripten.py
index 939ddbe8..d75214d5 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -477,7 +477,7 @@ def emscript(infile, settings, outfile, libraries=[], compiler_engine=None,
if '_rand' in exported_implemented_functions or '_srand' in exported_implemented_functions:
basic_vars += ['___rand_seed']
- asm_runtime_funcs = ['stackAlloc', 'stackSave', 'stackRestore', 'setThrew'] + ['setTempRet%d' % i for i in range(10)]
+ asm_runtime_funcs = ['stackAlloc', 'stackSave', 'stackRestore', 'setThrew'] + ['setTempRet%d' % i for i in range(10)] + ['getTempRet%d' % i for i in range(10)]
# function tables
function_tables = ['dynCall_' + table for table in last_forwarded_json['Functions']['tables']]
function_tables_impls = []
@@ -632,6 +632,10 @@ function setTempRet%d(value) {
value = value|0;
tempRet%d = value;
}
+''' % (i, i) for i in range(10)]) + ''.join(['''
+function getTempRet%d() {
+ return tempRet%d|0;
+}
''' % (i, i) for i in range(10)])] + [PostSets.js + '\n'] + funcs_js + ['''
%s
@@ -644,9 +648,11 @@ function setTempRet%d(value) {
if not settings.get('SIDE_MODULE'):
funcs_js.append('''
-Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) };
-Runtime.stackSave = function() { return asm['stackSave']() };
-Runtime.stackRestore = function(top) { asm['stackRestore'](top) };
+Runtime.stackAlloc = asm['stackAlloc'];
+Runtime.stackSave = asm['stackSave'];
+Runtime.stackRestore = asm['stackRestore'];
+Runtime.setTempRet0 = asm['setTempRet0'];
+Runtime.getTempRet0 = asm['getTempRet0'];
''')
# Set function table masks
@@ -889,10 +895,15 @@ def emscript_fast(infile, settings, outfile, libraries=[], compiler_engine=None,
exported_implemented_functions = set(metadata['exports'])
export_bindings = settings['EXPORT_BINDINGS']
export_all = settings['EXPORT_ALL']
- for key in metadata['implementedFunctions'] + forwarded_json['Functions']['implementedFunctions'].keys(): # XXX perf
+ all_implemented = metadata['implementedFunctions'] + forwarded_json['Functions']['implementedFunctions'].keys() # XXX perf?
+ for key in all_implemented:
if key in all_exported_functions or export_all or (export_bindings and key.startswith('_emscripten_bind')):
exported_implemented_functions.add(key)
implemented_functions = set(metadata['implementedFunctions'])
+ if settings['ASSERTIONS'] and settings.get('ORIGINAL_EXPORTED_FUNCTIONS'):
+ for requested in settings['ORIGINAL_EXPORTED_FUNCTIONS']:
+ if requested not in all_implemented:
+ logging.warning('function requested to be exported, but not implemented: "%s"', requested)
# Add named globals
named_globals = '\n'.join(['var %s = %s;' % (k, v) for k, v in metadata['namedGlobals'].iteritems()])
@@ -1058,7 +1069,7 @@ def emscript_fast(infile, settings, outfile, libraries=[], compiler_engine=None,
if '_rand' in exported_implemented_functions or '_srand' in exported_implemented_functions:
basic_vars += ['___rand_seed']
- asm_runtime_funcs = ['stackAlloc', 'stackSave', 'stackRestore', 'setThrew'] + ['setTempRet%d' % i for i in range(10)]
+ asm_runtime_funcs = ['stackAlloc', 'stackSave', 'stackRestore', 'setThrew', 'setTempRet0', 'getTempRet0']
# function tables
function_tables = ['dynCall_' + table for table in last_forwarded_json['Functions']['tables']]
function_tables_impls = []
@@ -1208,12 +1219,14 @@ function copyTempDouble(ptr) {
HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0];
HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0];
}
-''' + ''.join(['''
-function setTempRet%d(value) {
+function setTempRet0(value) {
value = value|0;
- tempRet%d = value;
+ tempRet0 = value;
+}
+function getTempRet0() {
+ return tempRet0|0;
}
-''' % (i, i) for i in range(10)])] + funcs_js + ['''
+'''] + funcs_js + ['''
%s
return %s;
@@ -1225,9 +1238,11 @@ function setTempRet%d(value) {
if not settings.get('SIDE_MODULE'):
funcs_js.append('''
-Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) };
-Runtime.stackSave = function() { return asm['stackSave']() };
-Runtime.stackRestore = function(top) { asm['stackRestore'](top) };
+Runtime.stackAlloc = asm['stackAlloc'];
+Runtime.stackSave = asm['stackSave'];
+Runtime.stackRestore = asm['stackRestore'];
+Runtime.setTempRet0 = asm['setTempRet0'];
+Runtime.getTempRet0 = asm['getTempRet0'];
''')
# Set function table masks
diff --git a/src/library_browser.js b/src/library_browser.js
index 2317ca47..fce7bdd5 100644
--- a/src/library_browser.js
+++ b/src/library_browser.js
@@ -702,15 +702,22 @@ mergeInto(LibraryManager.library, {
emscripten_async_wget: function(url, file, onload, onerror) {
var _url = Pointer_stringify(url);
var _file = Pointer_stringify(file);
+ function doCallback(callback) {
+ if (callback) {
+ var stack = Runtime.stackSave();
+ Runtime.dynCall('vi', callback, [allocate(intArrayFromString(_file), 'i8', ALLOC_STACK)]);
+ Runtime.stackRestore(stack);
+ }
+ }
FS.createPreloadedFile(
PATH.dirname(_file),
PATH.basename(_file),
_url, true, true,
function() {
- if (onload) Runtime.dynCall('vi', onload, [file]);
+ doCallback(onload);
},
function() {
- if (onerror) Runtime.dynCall('vi', onerror, [file]);
+ doCallback(onerror);
}
);
},
@@ -741,7 +748,11 @@ mergeInto(LibraryManager.library, {
http.onload = function http_onload(e) {
if (http.status == 200) {
FS.createDataFile( _file.substr(0, index), _file.substr(index + 1), new Uint8Array(http.response), true, true);
- if (onload) Runtime.dynCall('vii', onload, [arg, file]);
+ if (onload) {
+ var stack = Runtime.stackSave();
+ Runtime.dynCall('vii', onload, [arg, allocate(intArrayFromString(_file), 'i8', ALLOC_STACK)]);
+ Runtime.stackRestore(stack);
+ }
} else {
if (onerror) Runtime.dynCall('vii', onerror, [arg, http.status]);
}
diff --git a/src/library_sdl.js b/src/library_sdl.js
index b630ca5c..ae384d22 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -814,6 +814,7 @@ var LibrarySDL = {
}
case 'touchstart': case 'touchend': case 'touchmove': {
var touch = event.touch;
+ if (!Browser.touches[touch.identifier]) break;
var w = Module['canvas'].width;
var h = Module['canvas'].height;
var x = Browser.touches[touch.identifier].x / w;
diff --git a/src/runtime.js b/src/runtime.js
index 63610d3b..4466a308 100644
--- a/src/runtime.js
+++ b/src/runtime.js
@@ -96,6 +96,15 @@ function unInline(name_, params) {
}
var Runtime = {
+ // When a 64 bit long is returned from a compiled function the least significant
+ // 32 bit word is passed in the return value, but the most significant 32 bit
+ // word is placed in tempRet0. This provides an accessor for that value.
+ setTempRet0: function(value) {
+ tempRet0 = value;
+ },
+ getTempRet0: function() {
+ return tempRet0;
+ },
stackSave: function() {
return STACKTOP;
},
diff --git a/tests/emscripten_fs_api_browser.cpp b/tests/emscripten_fs_api_browser.cpp
index 0355287a..1410ba3c 100644
--- a/tests/emscripten_fs_api_browser.cpp
+++ b/tests/emscripten_fs_api_browser.cpp
@@ -107,11 +107,14 @@ int main() {
onLoaded,
onError);
+ char name[40];
+ strcpy(name, "/tmp/screen_shot.png"); // test for issue #2349, name being free'd
emscripten_async_wget(
"http://localhost:8888/screenshot.png",
- "/tmp/screen_shot.png",
+ name,
onLoaded,
onError);
+ memset(name, 0, 30);
emscripten_set_main_loop(wait_wgets, 0, 0);
diff --git a/tests/fuzz/20.cpp b/tests/fuzz/20.cpp
new file mode 100644
index 00000000..619ac697
--- /dev/null
+++ b/tests/fuzz/20.cpp
@@ -0,0 +1,977 @@
+/*
+ * This is a RANDOMLY GENERATED PROGRAM.
+ *
+ * Generator: csmith 2.2.0
+ * Git version: bf42ffd
+ * Options: --no-volatiles --no-packed-struct --no-math64 --lang-cpp
+ * Seed: 2354592696
+ */
+
+#include "csmith.h"
+
+
+static long __undefined;
+
+/* --- Struct/Union Declarations --- */
+/* --- GLOBAL VARIABLES --- */
+static int32_t g_8[4] = {(-1L),(-1L),(-1L),(-1L)};
+static int32_t g_10 = 0x095A9796L;
+static uint8_t g_14 = 0xBBL;
+static uint16_t g_68 = 65535UL;
+static int32_t g_89 = (-1L);
+static int32_t *g_88 = &g_89;
+static const uint16_t g_95 = 65535UL;
+static const uint16_t *g_94 = &g_95;
+static int32_t g_101[1][2][5] = {{{0L,0L,0L,0L,0L},{(-1L),(-1L),(-1L),(-1L),(-1L)}}};
+static uint16_t g_168 = 65535UL;
+static int16_t g_175 = (-10L);
+static uint8_t g_177 = 1UL;
+static int8_t g_208 = 1L;
+static int8_t *g_207[4] = {&g_208,&g_208,&g_208,&g_208};
+static int32_t g_263 = (-4L);
+static int32_t **g_311 = NULL;
+static int32_t ***g_310 = &g_311;
+static uint32_t g_324[4][1][5] = {{{0xA3D675C6L,0x497B3AE0L,0xA3D675C6L,1UL,1UL}},{{0xA3D675C6L,0x497B3AE0L,0xA3D675C6L,1UL,1UL}},{{0xA3D675C6L,0x497B3AE0L,0xA3D675C6L,1UL,1UL}},{{0xA3D675C6L,0x497B3AE0L,0xA3D675C6L,1UL,1UL}}};
+static uint32_t g_369 = 0x38F403BAL;
+static int16_t **g_435 = NULL;
+static const int32_t g_490 = (-1L);
+static int8_t g_532 = 0xE9L;
+static uint32_t g_534 = 0UL;
+static int32_t g_679[1][5] = {{0x6C6BABE0L,0x6C6BABE0L,0x6C6BABE0L,0x6C6BABE0L,0x6C6BABE0L}};
+static int16_t *g_691 = &g_175;
+static int32_t *g_735 = NULL;
+static uint16_t g_813 = 1UL;
+static int16_t g_906 = 0x50BEL;
+static uint32_t g_912 = 0x1175B058L;
+static int8_t * const *g_1027 = &g_207[2];
+static int8_t * const **g_1026[5] = {&g_1027,&g_1027,&g_1027,&g_1027,&g_1027};
+static int8_t **g_1029 = &g_207[1];
+static int8_t ***g_1028 = &g_1029;
+static uint8_t g_1098 = 251UL;
+static int16_t ***g_1103 = &g_435;
+static int16_t ****g_1102 = &g_1103;
+static uint32_t *g_1251 = &g_534;
+static uint32_t **g_1250 = &g_1251;
+static uint32_t ***g_1249 = &g_1250;
+static int8_t ***g_1452 = &g_1029;
+static uint8_t *g_1457 = &g_1098;
+static uint8_t **g_1456 = &g_1457;
+static int32_t *g_1463 = &g_10;
+static int32_t **g_1486 = &g_1463;
+static int32_t **g_1487 = &g_735;
+static int16_t **** const *g_1490 = &g_1102;
+static int16_t **** const **g_1489 = &g_1490;
+static int32_t g_1555 = 0x5CD64271L;
+static uint16_t g_1566 = 65531UL;
+static int8_t g_1611 = (-1L);
+static int16_t g_1671[8] = {(-7L),(-7L),(-7L),(-7L),(-7L),(-7L),(-7L),(-7L)};
+static uint32_t g_1726 = 2UL;
+static uint32_t g_1781[2][2] = {{1UL,1UL},{1UL,1UL}};
+static int8_t ****g_1806 = &g_1028;
+static int8_t *****g_1805[10][1][3] = {{{NULL,NULL,NULL}},{{&g_1806,&g_1806,&g_1806}},{{NULL,NULL,NULL}},{{&g_1806,&g_1806,&g_1806}},{{NULL,NULL,NULL}},{{&g_1806,&g_1806,&g_1806}},{{NULL,NULL,NULL}},{{&g_1806,&g_1806,&g_1806}},{{NULL,NULL,NULL}},{{&g_1806,&g_1806,&g_1806}}};
+static uint32_t g_1846[4] = {1UL,1UL,1UL,1UL};
+static const uint32_t g_1878[9][9][3] = {{{18446744073709551609UL,0x41FAE503L,5UL},{4UL,0xB45FB625L,0xBA90DCABL},{0x7859E91FL,18446744073709551609UL,5UL},{0UL,0x87F82538L,1UL},{0xDE88EC26L,0x8F3A2F9CL,0xC2B3141CL},{0x8C538065L,0x49C63EC0L,0x44D75A98L},{18446744073709551615UL,18446744073709551615UL,0x3EA8F13BL},{0x44D75A98L,18446744073709551614UL,18446744073709551606UL},{0xB1C843BDL,18446744073709551615UL,0x384A1D15L}},{{0x5E837D39L,0x49C63EC0L,0x5E837D39L},{18446744073709551615UL,0x8F3A2F9CL,18446744073709551609UL},{0UL,0x87F82538L,0xB7463E48L},{0x384A1D15L,18446744073709551609UL,0x97952306L},{0x03506829L,0xB45FB625L,0xB011D241L},{0x384A1D15L,0x41FAE503L,0x7859E91FL},{0UL,0x0EC69127L,0xD92197E9L},{18446744073709551615UL,5UL,0x06FB78C1L},{0x5E837D39L,0xD81B3B3EL,0UL}},{{0xB1C843BDL,0x5098CCB1L,1UL},{0x44D75A98L,0x37E638FAL,0UL},{18446744073709551615UL,0x06FB78C1L,0x06FB78C1L},{0x8C538065L,18446744073709551607UL,0xD92197E9L},{0xDE88EC26L,0xC2B3141CL,0x7859E91FL},{0UL,0xA98FC4D4L,0xB011D241L},{0x7859E91FL,0xB1C843BDL,0x97952306L},{4UL,0xA98FC4D4L,0xB7463E48L},{18446744073709551609UL,0xC2B3141CL,18446744073709551609UL}},{{0UL,18446744073709551607UL,0x5E837D39L},{5UL,0x06FB78C1L,0x384A1D15L},{0xB7463E48L,0x37E638FAL,18446744073709551606UL},{0x8F3A2F9CL,0x5098CCB1L,0x3EA8F13BL},{0xB7463E48L,0xD81B3B3EL,0x44D75A98L},{5UL,5UL,0xC2B3141CL},{0UL,0x0EC69127L,1UL},{18446744073709551609UL,0x41FAE503L,5UL},{4UL,0xB45FB625L,0xBA90DCABL}},{{0x7859E91FL,18446744073709551609UL,5UL},{0UL,0x87F82538L,1UL},{0xDE88EC26L,0x8F3A2F9CL,0xC2B3141CL},{0x8C538065L,0x49C63EC0L,0x44D75A98L},{18446744073709551615UL,18446744073709551615UL,0x3EA8F13BL},{0x44D75A98L,18446744073709551614UL,18446744073709551606UL},{0xB1C843BDL,18446744073709551615UL,0x384A1D15L},{0x5E837D39L,0x49C63EC0L,0x5E837D39L},{18446744073709551615UL,0x8F3A2F9CL,18446744073709551609UL}},{{0UL,0x87F82538L,0xB7463E48L},{0x384A1D15L,18446744073709551609UL,0x97952306L},{0x03506829L,0xB45FB625L,0UL},{18446744073709551609UL,5UL,0x8F3A2F9CL},{0x44D75A98L,0x36765C43L,0xD909217BL},{0x06FB78C1L,0x7859E91FL,0x97952306L},{0xB513056EL,0x0EC69127L,0x44D75A98L},{0x41FAE503L,0xB1C843BDL,0x384A1D15L},{0x03506829L,0xDAD1FA39L,0x44D75A98L}},{{0xDE88EC26L,0x97952306L,0x97952306L},{0xB011D241L,0UL,0xD909217BL},{0x3EA8F13BL,0x5098CCB1L,0x8F3A2F9CL},{0x8C538065L,0x87F82538L,0UL},{0x8F3A2F9CL,0x41FAE503L,1UL},{0x685D1A38L,0x87F82538L,0x5E837D39L},{0x6768B2D9L,0x5098CCB1L,0x6768B2D9L},{1UL,0UL,0xB513056EL},{0x7859E91FL,0x97952306L,18446744073709551609UL}},{{0x5E837D39L,0xDAD1FA39L,0xBA90DCABL},{18446744073709551615UL,0xB1C843BDL,18446744073709551615UL},{0x5E837D39L,0x0EC69127L,0x03506829L},{0x7859E91FL,0x7859E91FL,0x5098CCB1L},{1UL,0x36765C43L,18446744073709551606UL},{0x6768B2D9L,5UL,0x7859E91FL},{0x685D1A38L,18446744073709551614UL,0xB7463E48L},{0x8F3A2F9CL,0x6768B2D9L,0x7859E91FL},{0x8C538065L,0x2406F886L,18446744073709551606UL}},{{0x3EA8F13BL,18446744073709551615UL,0x5098CCB1L},{0xB011D241L,0xB45FB625L,0x03506829L},{0xDE88EC26L,0x06FB78C1L,18446744073709551615UL},{0x03506829L,0xD81B3B3EL,0xBA90DCABL},{0x41FAE503L,0x06FB78C1L,18446744073709551609UL},{0xB513056EL,0xB45FB625L,0xB513056EL},{0x06FB78C1L,18446744073709551615UL,0x6768B2D9L},{0x44D75A98L,0x2406F886L,0x5E837D39L},{18446744073709551609UL,0x6768B2D9L,1UL}}};
+static uint32_t * const g_1962 = &g_324[3][0][0];
+static uint32_t * const *g_1961 = &g_1962;
+static uint16_t g_2002 = 4UL;
+static int16_t ** const * const g_2016 = &g_435;
+static int16_t ** const * const *g_2015 = &g_2016;
+static int16_t ** const * const **g_2014 = &g_2015;
+static int16_t ** const * const **g_2018 = &g_2015;
+
+
+/* --- FORWARD DECLARATIONS --- */
+static uint32_t func_1(void);
+static int32_t func_5(int32_t p_6, uint32_t p_7);
+static uint8_t func_39(uint32_t p_40, int32_t * p_41, int32_t p_42);
+static const int32_t * func_52(int32_t p_53, uint8_t p_54, uint32_t p_55, int16_t p_56, uint8_t p_57);
+static int32_t * func_64(uint16_t p_65, int32_t * p_66);
+static int32_t * func_69(int8_t p_70);
+static uint8_t func_76(uint8_t p_77, const int32_t * const p_78, int32_t * p_79);
+static int32_t * const func_80(int32_t * p_81);
+static int32_t * func_82(int32_t p_83, uint16_t p_84, int32_t * p_85);
+static int32_t func_92(const uint16_t * p_93);
+
+
+/* --- FUNCTIONS --- */
+/* ------------------------------------------ */
+/*
+ * reads : g_8 g_14 g_10 g_68 g_88 g_912 g_94 g_95 g_735 g_101 g_1250 g_1251 g_534 g_679 g_1029 g_207 g_208 g_691 g_1463 g_168 g_1457 g_1098 g_1249 g_1489 g_263 g_89 g_175 g_813 g_1566 g_1027 g_1611 g_532 g_1726 g_1028 g_1781 g_1490 g_1102 g_1103 g_435 g_177 g_1555 g_906 g_324 g_1671 g_1487 g_1961 g_1456 g_2002 g_1486 g_1962 g_2014
+ * writes: g_14 g_68 g_10 g_735 g_88 g_168 g_534 g_1028 g_1452 g_101 g_1456 g_175 g_1486 g_1487 g_263 g_89 g_94 g_813 g_208 g_1555 g_1566 g_532 g_1098 g_1611 g_1726 g_1102 g_1781 g_435 g_177 g_207 g_2002 g_1463 g_324 g_2014 g_2018
+ */
+static uint32_t func_1(void)
+{ /* block id: 0 */
+ uint32_t l_4 = 0x20398070L;
+ int32_t l_17 = (-1L);
+ int32_t *l_18 = &l_17;
+ int32_t *l_21[4][2][10] = {{{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,&g_8[0],NULL,NULL,&g_8[3],&g_8[0],&g_8[3],NULL,NULL}},{{NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL},{NULL,NULL,&g_8[1],NULL,NULL,NULL,&g_8[1],NULL,NULL,NULL}},{{NULL,NULL,NULL,&g_8[3],NULL,NULL,NULL,&g_8[3],NULL,NULL},{NULL,&g_8[3],&g_8[0],&g_8[3],NULL,NULL,&g_8[0],NULL,NULL,&g_8[3]}},{{NULL,&g_8[3],NULL,NULL,NULL,&g_8[3],NULL,NULL,NULL,&g_8[3]},{NULL,NULL,&g_8[1],NULL,NULL,NULL,&g_8[1],NULL,NULL,NULL}}};
+ uint16_t l_1947 = 0UL;
+ uint8_t l_1950 = 8UL;
+ int32_t l_1952 = (-7L);
+ int32_t l_1967 = 0x2594DE78L;
+ int8_t *l_1968 = &g_208;
+ uint32_t l_1969 = 0xA55E1FD4L;
+ uint32_t **l_1994 = &g_1251;
+ int32_t l_2003 = 0xD7936716L;
+ int16_t *****l_2013 = &g_1102;
+ int16_t ******l_2012 = &l_2013;
+ int16_t ** const * const ***l_2017[9];
+ int i, j, k;
+ for (i = 0; i < 9; i++)
+ l_2017[i] = NULL;
+ (*l_18) = (safe_rshift_func_uint16_t_u_s((((l_4 , (func_5(g_8[0], l_4) ^ 0x4D07DDBFL)) , 5UL) , (((((+func_5(g_8[0], (l_17 |= ((g_8[0] || (l_4 , l_4)) , g_8[2])))) >= g_10) , 0xA6C2E3A4L) , 0L) < 4294967295UL)), g_8[0]));
+ if (func_5(((*l_18) = (safe_lshift_func_uint8_t_u_u(func_5(g_14, (*l_18)), 3))), (&g_10 == &g_10)))
+ { /* block id: 8 */
+ uint32_t l_30 = 0x8A7E8B7DL;
+ int16_t l_49 = (-1L);
+ const int16_t l_50 = 0xB00FL;
+ int32_t *l_51 = &l_17;
+ uint16_t *l_1948 = NULL;
+ uint16_t *l_1949 = NULL;
+ uint16_t *l_1951[1][8][1] = {{{NULL},{&g_168},{NULL},{&g_168},{NULL},{&g_168},{NULL},{&g_168}}};
+ int8_t l_1953 = (-4L);
+ uint32_t l_1954[8][4][2] = {{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}},{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}},{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}},{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}},{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}},{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}},{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}},{{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL},{0xF7B7F389L,0x84E19BCBL},{0x2B89271DL,0x84E19BCBL}}};
+ int i, j, k;
+ (*l_18) = ((((NULL != &g_8[1]) <= ((((safe_add_func_uint8_t_u_u(((*g_1457) = func_5(((safe_rshift_func_int8_t_s_u((((++g_14) , (-8L)) , (((safe_rshift_func_int16_t_s_s(l_30, 1)) <= (func_5((((safe_mul_func_uint16_t_u_u((l_1952 = (l_30 , ((safe_rshift_func_uint16_t_u_s((safe_rshift_func_uint16_t_u_u((l_1950 ^= (+((safe_mod_func_uint8_t_u_u(func_39((((((func_5((func_5(g_10, func_5((((((((safe_add_func_uint8_t_u_u(((safe_mul_func_uint16_t_u_u((NULL != &g_10), (safe_lshift_func_int8_t_s_s(g_10, 1)))) ^ 0x8CD8B12AL), g_8[0])) <= l_30) != 0x7384L) < (*l_18)) , (*l_18)) , l_49) <= (*l_18)), g_14)) & l_50), g_8[0]) >= 0x8DL) , &g_8[3]) != NULL) , (int32_t*) NULL) != NULL), l_51, g_8[1]), g_906)) < l_1947))), 10)), (*l_51))) , 0xE604L))), 0x59B6L)) ^ (*l_51)) | (*l_51)), (*l_51)) | (*l_51))) <= (*l_51))), g_324[3][0][0])) , (*l_18)), (*l_18))), l_1953)) , (*l_18)) | (*l_18)) & (*l_51))) | (*l_51)) , l_1954[3][2][0]);
+ return g_1671[5];
+ }
+ else
+ { /* block id: 885 */
+ int8_t *l_1963 = &g_1611;
+ int32_t l_1966 = 1L;
+ const int32_t *l_1971 = &g_89;
+ const int32_t **l_1970 = &l_1971;
+ uint16_t *l_1991[2];
+ uint32_t *l_1999 = &l_1969;
+ int i;
+ for (i = 0; i < 2; i++)
+ l_1991[i] = &g_813;
+ (*g_1487) = &l_17;
+ (*l_1970) = func_52((safe_div_func_uint8_t_u_u((safe_mul_func_uint16_t_u_u(((*g_1249) != (*g_1249)), (safe_rshift_func_uint16_t_u_s(((*l_18) & (NULL != (*g_1490))), (NULL == g_1961))))), ((((**g_1028) = l_1963) != ((safe_lshift_func_uint8_t_u_s(((l_1967 |= l_1966) <= 0x55L), 5)) , l_1968)) ^ l_1969))), (*l_18), l_1966, (*l_18), (**g_1456));
+ l_18 = ((*g_1486) = ((((safe_div_func_uint16_t_u_u((safe_div_func_int8_t_s_s(((safe_rshift_func_uint8_t_u_s((safe_rshift_func_uint16_t_u_u(((safe_mul_func_uint8_t_u_u(0UL, ((g_2002 = ((*g_1251) < (safe_lshift_func_int8_t_s_u(((((safe_div_func_int32_t_s_s((((safe_sub_func_uint16_t_u_u((safe_rshift_func_uint8_t_u_u((*l_18), 1)), (g_168 &= (safe_unary_minus_func_int8_t_s(0x8AL))))) < ((safe_mul_func_int16_t_s_s((l_1994 != ((safe_mul_func_int8_t_s_s(((***g_1028) |= (*l_18)), (safe_add_func_uint32_t_u_u((++(*l_1999)), (**g_1487))))) , (*g_1249))), g_2002)) , 0xCDA1EE90L)) && (*l_18)), 0x4EED3296L)) && (**g_1456)) <= (*l_18)) >= 255UL), l_2003)))) , (*l_18)))) == (*l_18)), 8)), 2)) <= (*l_18)), 1L)), 8L)) != 0xEBL) , (*g_1457)) , (int32_t*) NULL));
+ }
+ (**g_1487) = ((safe_add_func_int8_t_s_s(l_1952, (((**g_1456) | (-8L)) <= (safe_mul_func_int16_t_s_s(l_1952, (l_17 , (0x039BF18DL > ((safe_sub_func_int32_t_s_s((safe_add_func_uint16_t_u_u(65535UL, ((((*l_2012) = &g_1102) != (g_2018 = (g_2014 = ((((*g_1962) = 3UL) , (**g_1456)) , g_2014)))) <= l_17))), (*g_735))) <= l_1967)))))))) || l_1952);
+ return (*g_1962);
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_14
+ * writes: g_14
+ */
+static int32_t func_5(int32_t p_6, uint32_t p_7)
+{ /* block id: 1 */
+ int32_t *l_9[2];
+ uint32_t l_11 = 1UL;
+ int i;
+ for (i = 0; i < 2; i++)
+ l_9[i] = &g_10;
+ l_11--;
+ ++g_14;
+ return p_6;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_8 g_10 g_68 g_14 g_88 g_912 g_94 g_813 g_95 g_735 g_101 g_1250 g_1251 g_534 g_679 g_1029 g_207 g_208 g_691 g_1463 g_168 g_1457 g_1098 g_1249 g_1489 g_175 g_89 g_1566 g_1027 g_1611 g_532 g_1726 g_1028 g_1781 g_1490 g_1102 g_1103 g_435 g_177 g_1555 g_263
+ * writes: g_68 g_10 g_735 g_88 g_168 g_14 g_534 g_1028 g_1452 g_101 g_1456 g_175 g_1486 g_1487 g_263 g_89 g_94 g_813 g_208 g_1555 g_1566 g_532 g_1098 g_1611 g_1726 g_1102 g_1781 g_435 g_177
+ */
+static uint8_t func_39(uint32_t p_40, int32_t * p_41, int32_t p_42)
+{ /* block id: 10 */
+ uint16_t *l_67 = &g_68;
+ int32_t l_75 = 1L;
+ int32_t **l_1491[8] = {&g_735,NULL,&g_735,NULL,&g_735,NULL,&g_735,NULL};
+ int32_t *l_1492 = NULL;
+ const int32_t *l_1680 = &g_10;
+ const int32_t **l_1679 = &l_1680;
+ int32_t *l_1681 = &g_101[0][1][2];
+ uint32_t l_1738 = 0x915B1875L;
+ int16_t ****l_1759 = &g_1103;
+ int8_t l_1785[2][10][5] = {{{0L,0xD1L,0L,0x10L,0xA1L},{(-4L),0xF8L,0L,(-9L),9L},{(-1L),0L,0x19L,0L,0x60L},{0x10L,(-7L),0L,9L,(-1L)},{0x20L,0L,0L,(-4L),0x12L},{1L,(-1L),(-1L),0x89L,0x10L},{0x1CL,0x60L,0x33L,0L,0x8FL},{0x7BL,0x4EL,9L,0L,1L},{0x83L,0x8FL,(-1L),0x89L,0x3AL},{0L,(-4L),(-1L),(-4L),0L}},{{(-1L),(-9L),(-7L),9L,(-8L)},{0x8FL,0x46L,0xD1L,0L,(-4L)},{0xD1L,(-7L),0x60L,(-9L),(-8L)},{(-1L),0L,1L,0x10L,0L},{(-8L),0x50L,(-7L),0x46L,0x3AL},{0x33L,1L,0x3AL,0xC2L,1L},{(-1L),0x20L,0x10L,(-1L),0x8FL},{(-1L),(-1L),(-1L),0x20L,0x10L},{0x33L,9L,0x12L,0L,0x12L},{(-8L),(-8L),1L,0x3AL,(-1L)}}};
+ uint32_t l_1789 = 18446744073709551613UL;
+ uint32_t **l_1796 = &g_1251;
+ int16_t l_1841 = 0x47E8L;
+ int8_t ****l_1864 = &g_1452;
+ const uint32_t *l_1877 = &g_1878[1][2][2];
+ const uint32_t **l_1876 = &l_1877;
+ int16_t l_1889 = 0x474EL;
+ int32_t l_1941 = 0x901B980BL;
+ uint8_t *l_1944 = &g_14;
+ uint8_t *l_1945 = NULL;
+ uint8_t *l_1946 = &g_177;
+ int i, j, k;
+lbl_1744:
+ (*l_1679) = func_52(g_8[0], g_8[0], ((g_10 , (func_5((g_8[0] && ((safe_lshift_func_int8_t_s_u(func_5((safe_mul_func_int8_t_s_s(((l_1492 = func_64(((*l_67) |= 0xAE56L), func_69(((safe_add_func_uint16_t_u_u((g_168 = ((safe_sub_func_int32_t_s_s(l_75, ((l_75 , func_76(g_14, func_80(func_82((g_10 = (safe_rshift_func_uint8_t_u_u(g_8[2], 6))), g_14, g_88)), &g_101[0][1][1])) < 5UL))) || p_40)), l_75)) >= (*g_94))))) != NULL), 0x19L)), p_40), p_40)) <= p_40)), p_40) , (*g_1251))) < p_42), p_40, p_40);
+ if (((p_41 = &p_42) != (l_1681 = &g_89)))
+ { /* block id: 749 */
+ uint16_t l_1684[9][7] = {{0x4D1DL,1UL,0x075BL,0xEA90L,0xD27EL,65526UL,0x9259L},{0x075BL,0xFB9BL,0x10FFL,65526UL,65530UL,6UL,65526UL},{1UL,0x9259L,0xD27EL,0UL,65526UL,0UL,0xD27EL},{6UL,6UL,0x10FFL,0xDC46L,65526UL,0x9922L,0x9259L},{0x9922L,0x3934L,6UL,1UL,0x10FFL,65527UL,0xFC16L},{0x10FFL,1UL,65526UL,65526UL,65526UL,0xFC16L,6UL},{0x861FL,0xD27EL,6UL,65535UL,65530UL,65530UL,65535UL},{0UL,0xD27EL,0UL,6UL,0xFC16L,65526UL,65526UL},{0x4D1DL,1UL,3UL,0xFC16L,65527UL,0x10FFL,1UL}};
+ uint8_t * const *l_1695 = &g_1457;
+ int32_t l_1711 = 0x5C5B3728L;
+ int8_t l_1728 = 0x47L;
+ int32_t l_1733 = 0x9B2D669CL;
+ int32_t l_1735 = 1L;
+ int32_t l_1737 = 0xD5DDB545L;
+ int32_t l_1784 = (-7L);
+ int32_t l_1786 = (-1L);
+ int32_t l_1787 = 0L;
+ int32_t l_1788 = 0xB7C3DCB2L;
+ int i, j;
+ for (g_1611 = 0; (g_1611 > 2); g_1611 = safe_add_func_uint16_t_u_u(g_1611, 8))
+ { /* block id: 752 */
+ int32_t l_1710 = 1L;
+ int32_t l_1731 = 0x84BCF933L;
+ int32_t l_1732 = (-1L);
+ int32_t l_1734 = 0L;
+ int32_t l_1775 = 1L;
+ int32_t l_1776 = 0xE5BFAA72L;
+ int32_t l_1777 = (-6L);
+ int32_t l_1778 = 0x647D0747L;
+ int32_t l_1779 = 0x099AC607L;
+ int32_t l_1780 = 0xD5FEF757L;
+ (*p_41) &= l_1684[1][6];
+ for (g_175 = 3; (g_175 >= 1); g_175 -= 1)
+ { /* block id: 756 */
+ int32_t l_1730 = 8L;
+ int32_t *l_1746 = &g_10;
+ int32_t l_1760 = 1L;
+ int32_t l_1774[1][2][5] = {{{2L,(-1L),2L,2L,(-1L)},{(-1L),2L,2L,(-1L),2L}}};
+ int i, j, k;
+ if ((safe_div_func_int32_t_s_s(g_8[g_175], (safe_sub_func_int8_t_s_s((-1L), g_8[g_175])))))
+ { /* block id: 757 */
+ uint32_t ***l_1724 = &g_1250;
+ int32_t l_1727 = (-7L);
+ int32_t l_1729 = 0x4E2B1F57L;
+ int32_t l_1736 = 0xD335B7D7L;
+ for (p_40 = 0; (p_40 <= 4); p_40 += 1)
+ { /* block id: 760 */
+ uint32_t *l_1725 = &g_1726;
+ int i;
+ l_1711 = (safe_rshift_func_int8_t_s_s(((safe_mul_func_int16_t_s_s(g_8[g_175], (safe_sub_func_int16_t_s_s((l_1695 == ((((((((safe_add_func_uint16_t_u_u((safe_mod_func_int16_t_s_s(((0UL ^ (((p_40 >= (safe_div_func_uint16_t_u_u((!(*g_94)), ((safe_div_func_int16_t_s_s(1L, (safe_rshift_func_int16_t_s_s(((*p_41) , 5L), (safe_mul_func_uint16_t_u_u((safe_lshift_func_int16_t_s_u(((*p_41) < p_42), 14)), g_8[g_175])))))) | 0x7A52D48EL)))) || (*p_41)) , (*p_41))) , 6L), 1UL)), l_1710)) | p_40) , l_1710) | 0x94D1L) , &g_1456) != &g_1456) && 0x35F8L) , l_1695)), (*g_691))))) >= 1UL), 4));
+ (*g_1463) = ((((((safe_sub_func_uint16_t_u_u((l_1711 &= (safe_mod_func_uint8_t_u_u(((p_40 > (*g_1457)) <= ((*g_94) >= (p_40 == (safe_add_func_int32_t_s_s((((p_40 < p_40) & (safe_sub_func_int8_t_s_s((~(safe_lshift_func_uint16_t_u_u(((((l_1727 ^= ((*l_1725) &= ((**g_1250) ^= (safe_sub_func_int16_t_s_s((l_1724 != l_1724), (((((~0xE6FD0E25L) ^ 8L) != 0x1FF1L) <= (*g_94)) | g_8[g_175])))))) == (*p_41)) < p_40) == p_40), 1))), l_1728))) , (*p_41)), (*l_1681)))))), p_42))), l_1728)) <= l_1729) > (*g_94)) , (int32_t***) NULL) == &g_311) & p_40);
+ }
+ if ((*g_1463))
+ { /* block id: 768 */
+ (*g_1463) ^= l_1711;
+ if ((*p_41))
+ continue;
+ }
+ else
+ { /* block id: 771 */
+ return p_42;
+ }
+ l_1738--;
+ }
+ else
+ { /* block id: 775 */
+ uint8_t l_1741 = 0xA9L;
+ l_1741--;
+ if (l_75)
+ goto lbl_1744;
+ }
+ if (l_1735)
+ { /* block id: 779 */
+ (*l_1681) ^= l_1728;
+ }
+ else
+ { /* block id: 781 */
+ int32_t l_1745 = 0xB909AFC6L;
+ int16_t *****l_1747 = NULL;
+ int16_t *****l_1748 = &g_1102;
+ int32_t l_1768[9][4][3] = {{{0xCD9A7C8AL,(-5L),(-4L)},{0xAF3B7215L,0x2196F175L,(-6L)},{1L,(-1L),0x3F1D03C1L},{(-1L),0x2196F175L,(-1L)}},{{0x21C896E3L,(-5L),0L},{0x2196F175L,0x41C49213L,0L},{(-1L),0xAACA832CL,(-1L)},{0x919DCA21L,0x21C896E3L,0x3F1D03C1L}},{{0x41C49213L,0xF437A5A9L,(-6L)},{0x919DCA21L,0xEDA3817EL,(-4L)},{(-1L),(-1L),0x520C3304L},{0x2196F175L,(-1L),0x4D455C86L}},{{0x21C896E3L,0xEDA3817EL,0L},{(-1L),0xF437A5A9L,0xA4D09836L},{1L,0x21C896E3L,0L},{0xAF3B7215L,0xAACA832CL,0x4D455C86L}},{{0xCD9A7C8AL,0x41C49213L,0x520C3304L},{0xCD9A7C8AL,(-5L),(-4L)},{0xAF3B7215L,0x2196F175L,(-6L)},{1L,(-1L),0x3F1D03C1L}},{{(-1L),0x2196F175L,(-1L)},{0x21C896E3L,(-5L),0L},{0x2196F175L,0x41C49213L,0L},{(-1L),0xAACA832CL,(-1L)}},{{0x919DCA21L,0x21C896E3L,0x3F1D03C1L},{0x41C49213L,0xF437A5A9L,(-6L)},{0x919DCA21L,0xEDA3817EL,(-4L)},{(-1L),(-1L),0x520C3304L}},{{0x2196F175L,(-1L),0x4D455C86L},{0x21C896E3L,0xEDA3817EL,0L},{(-1L),0xF437A5A9L,0xA4D09836L},{1L,0x21C896E3L,0L}},{{0xAF3B7215L,0xAACA832CL,0x4D455C86L},{0xCD9A7C8AL,0x41C49213L,0x520C3304L},{0xCD9A7C8AL,(-5L),(-4L)},{0xAF3B7215L,0x2196F175L,(-6L)}}};
+ int i, j, k;
+ for (p_42 = 7; (p_42 >= 0); p_42 -= 1)
+ { /* block id: 784 */
+ int i;
+ if ((*p_41))
+ break;
+ if (l_1745)
+ break;
+ l_1746 = &p_42;
+ if (l_1710)
+ continue;
+ }
+ (*l_1681) = ((0x2EEBL < (((*l_1748) = &g_1103) != (((safe_rshift_func_int8_t_s_u(p_40, l_1745)) ^ ((*l_1746) = (safe_sub_func_int8_t_s_s((safe_mul_func_int16_t_s_s((-1L), (~l_1745))), (((***g_1028) = 0x9DL) != ((((safe_mod_func_int32_t_s_s((-6L), (safe_mod_func_uint32_t_u_u((**g_1250), 0x6072443AL)))) & p_40) != (*l_1746)) ^ 4UL)))))) , l_1759))) < l_1760);
+ if ((*p_41))
+ { /* block id: 794 */
+ int32_t * const l_1767 = &g_263;
+ int32_t * const *l_1766 = &l_1767;
+ int32_t * const * const *l_1765 = &l_1766;
+ int32_t l_1769 = 0xF3C67E0AL;
+ int32_t l_1770 = 0xDE144CE1L;
+ int32_t l_1771 = 0x87004860L;
+ int32_t l_1772 = 0L;
+ int32_t l_1773[4][2][1];
+ int i, j, k;
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ for (k = 0; k < 1; k++)
+ l_1773[i][j][k] = 0xCD9C8AADL;
+ }
+ }
+ (*l_1681) ^= ((*l_1746) = (*p_41));
+ (*l_1679) = func_82(((*p_41) = ((p_42 || ((*g_94) != (&g_1250 == &g_1250))) && (((l_1745 , (safe_mul_func_int8_t_s_s((((**g_1029) = ((NULL != (uint32_t*) l_1746) || ((*l_1746) == (p_42 >= 0xAB24L)))) != 0xDAL), l_1737))) , l_1765) == &g_311))), p_40, p_41);
+ g_1781[1][0]++;
+ }
+ else
+ { /* block id: 801 */
+ (*p_41) = 0xF85691D2L;
+ }
+ }
+ l_1789++;
+ }
+ if ((*p_41))
+ break;
+ }
+ }
+ else
+ { /* block id: 809 */
+ int8_t ****l_1797[3][10][8] = {{{NULL,&g_1028,&g_1028,&g_1452,&g_1028,&g_1452,&g_1028,&g_1028},{&g_1028,&g_1028,&g_1028,&g_1028,&g_1028,&g_1028,&g_1452,&g_1028},{NULL,&g_1452,&g_1028,&g_1452,&g_1452,&g_1028,&g_1028,&g_1452},{&g_1452,&g_1028,NULL,&g_1452,&g_1028,&g_1452,NULL,&g_1452},{&g_1452,&g_1452,&g_1028,NULL,&g_1452,&g_1452,NULL,&g_1452},{&g_1028,&g_1028,NULL,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{NULL,&g_1452,&g_1028,&g_1028,&g_1452,&g_1452,&g_1452,&g_1452},{&g_1452,&g_1452,NULL,NULL,&g_1452,&g_1452,NULL,&g_1452},{NULL,&g_1028,&g_1028,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{&g_1028,&g_1452,&g_1452,&g_1028,&g_1452,&g_1452,&g_1452,&g_1452}},{{&g_1452,&g_1452,&g_1028,NULL,&g_1452,&g_1452,NULL,&g_1452},{&g_1028,&g_1028,NULL,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{NULL,&g_1452,&g_1028,&g_1028,&g_1452,&g_1452,&g_1452,&g_1452},{&g_1452,&g_1452,NULL,NULL,&g_1452,&g_1452,NULL,&g_1452},{NULL,&g_1028,&g_1028,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{&g_1028,&g_1452,&g_1452,&g_1028,&g_1452,&g_1452,&g_1452,&g_1452},{&g_1452,&g_1452,&g_1028,NULL,&g_1452,&g_1452,NULL,&g_1452},{&g_1028,&g_1028,NULL,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{NULL,&g_1452,&g_1028,&g_1028,&g_1452,&g_1452,&g_1452,&g_1452},{&g_1452,&g_1452,NULL,NULL,&g_1452,&g_1452,NULL,&g_1452}},{{NULL,&g_1028,&g_1028,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{&g_1028,&g_1452,&g_1452,&g_1028,&g_1452,&g_1452,&g_1452,&g_1452},{&g_1452,&g_1452,&g_1028,NULL,&g_1452,&g_1452,NULL,&g_1452},{&g_1028,&g_1028,NULL,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{NULL,&g_1452,&g_1028,&g_1028,&g_1452,&g_1452,&g_1452,&g_1452},{&g_1452,&g_1452,NULL,NULL,&g_1452,&g_1452,NULL,&g_1452},{NULL,&g_1028,&g_1028,&g_1028,&g_1028,&g_1452,&g_1452,NULL},{&g_1028,&g_1452,&g_1452,&g_1028,&g_1452,&g_1452,NULL,NULL},{NULL,&g_1028,&g_1028,&g_1452,&g_1028,&g_1452,&g_1028,NULL},{&g_1452,&g_1028,&g_1452,NULL,&g_1028,&g_1452,NULL,&g_1028}}};
+ int32_t l_1809 = (-5L);
+ int32_t *l_1811 = &g_89;
+ int32_t l_1828 = 0x18381127L;
+ int32_t l_1830 = 2L;
+ int32_t l_1837 = 1L;
+ int32_t l_1843 = 0x4408EEE1L;
+ int32_t *l_1924 = &l_1809;
+ int i, j, k;
+ for (p_42 = (-7); (p_42 >= (-19)); p_42--)
+ { /* block id: 812 */
+ int8_t *****l_1798 = &l_1797[2][7][5];
+ uint32_t *l_1807[10];
+ int32_t l_1808 = 0x8CAAAE7BL;
+ int32_t l_1810 = (-10L);
+ int16_t l_1813[4];
+ int32_t l_1820 = 0x8E71FA34L;
+ int32_t l_1821 = 8L;
+ int32_t l_1823 = 0L;
+ int32_t l_1824 = 0xE5358F3EL;
+ int32_t l_1827 = 0x2A6C0624L;
+ int32_t l_1829 = 0L;
+ int32_t l_1832 = 0x231C0186L;
+ int32_t l_1835 = 1L;
+ int32_t l_1838 = 1L;
+ int32_t l_1842[4] = {(-1L),(-1L),(-1L),(-1L)};
+ const uint32_t *l_1875 = &g_1846[2];
+ const uint32_t **l_1874[10] = {&l_1875,&l_1875,&l_1875,&l_1875,&l_1875,&l_1875,&l_1875,&l_1875,&l_1875,&l_1875};
+ int i;
+ for (i = 0; i < 10; i++)
+ l_1807[i] = &l_1738;
+ for (i = 0; i < 4; i++)
+ l_1813[i] = (-1L);
+ (*g_1463) = (*p_41);
+ }
+ }
+ g_1555 &= (safe_div_func_uint32_t_u_u((safe_sub_func_int8_t_s_s(0xD7L, (+(safe_sub_func_uint32_t_u_u((((*l_1946) ^= (safe_rshift_func_uint8_t_u_s(((*l_1944) = ((*g_1457) = (((safe_mod_func_int32_t_s_s(((*g_1463) |= (safe_add_func_uint16_t_u_u(0x2230L, ((safe_lshift_func_int8_t_s_s(((safe_add_func_int8_t_s_s((((((****g_1489) = (g_175 , (***g_1490))) != NULL) | ((0xFFA26F57L || 0L) , ((*l_1681) = (l_1941 < (safe_div_func_uint16_t_u_u((((((!(0xFEF0B100L & p_40)) | p_42) ^ (*l_1681)) || 1UL) && (*g_1457)), p_42)))))) != p_40), p_40)) != p_40), 2)) && 0L)))), (*g_1251))) & (*p_41)) , 0UL))), 7))) | 4L), (*p_41)))))), 0x49EE9D83L));
+ return (*g_1457);
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_691 g_175 g_1249 g_1250 g_1251 g_534 g_88 g_89 g_813 g_263 g_1029 g_207 g_1457 g_1098 g_101 g_1463 g_10 g_1566 g_94 g_95 g_1027 g_208 g_1611 g_532 g_68
+ * writes: g_88 g_68 g_263 g_89 g_94 g_813 g_208 g_175 g_10 g_1555 g_1566 g_532 g_1098 g_534 g_14 g_1611
+ */
+static const int32_t * func_52(int32_t p_53, uint8_t p_54, uint32_t p_55, int16_t p_56, uint8_t p_57)
+{ /* block id: 675 */
+ int32_t * const l_1493 = &g_89;
+ int32_t **l_1494 = &g_88;
+ uint16_t l_1523 = 0xBC23L;
+ int32_t l_1626 = (-1L);
+ int32_t l_1630 = 0x2F07589FL;
+ int32_t l_1635 = 0x2A660ECFL;
+ int32_t l_1636 = 0x149622CEL;
+ int32_t l_1638 = 0xF571B7A6L;
+ int32_t l_1640 = 0x4D6D3401L;
+ int32_t l_1641 = 0xE0CBE1D6L;
+ int32_t l_1642 = 0xB844DA30L;
+ int32_t l_1643 = 0xA3C3B5ABL;
+ int32_t l_1644 = (-1L);
+ int32_t l_1645 = 0x1F07B77DL;
+ int32_t l_1646 = 0xE5CFA295L;
+ int32_t l_1649 = (-1L);
+ int32_t l_1650[6][4] = {{0L,0x2CBBE18CL,0L,0L},{0x2CBBE18CL,0x2CBBE18CL,0L,0x2CBBE18CL},{0x2CBBE18CL,0L,0L,0x2CBBE18CL},{0L,0x2CBBE18CL,0L,0L},{0x2CBBE18CL,0x2CBBE18CL,0L,0x2CBBE18CL},{0x2CBBE18CL,0L,0L,0x2CBBE18CL}};
+ int32_t l_1657 = (-4L);
+ int i, j;
+lbl_1575:
+ (*l_1494) = l_1493;
+ for (g_68 = 24; (g_68 == 39); g_68 = safe_add_func_uint8_t_u_u(g_68, 4))
+ { /* block id: 679 */
+ uint16_t l_1504[6];
+ const int32_t *l_1518 = &g_101[0][0][1];
+ int8_t * const l_1535 = &g_532;
+ int8_t *l_1537 = &g_532;
+ int32_t l_1617 = 0xDC512F73L;
+ int32_t l_1629[4][1] = {{(-6L)},{0x1AD9824DL},{(-6L)},{0x1AD9824DL}};
+ int8_t l_1637 = (-10L);
+ int i, j;
+ for (i = 0; i < 6; i++)
+ l_1504[i] = 0UL;
+ for (g_263 = 3; (g_263 >= 0); g_263 -= 1)
+ { /* block id: 682 */
+ const uint16_t l_1513 = 0x834AL;
+ uint8_t *l_1514 = &g_14;
+ const int32_t *l_1517 = &g_89;
+ int32_t *l_1565 = NULL;
+ int32_t **l_1564 = &l_1565;
+ int32_t l_1568[7];
+ int i;
+ for (i = 0; i < 7; i++)
+ l_1568[i] = 0L;
+ for (g_89 = 3; (g_89 >= 1); g_89 -= 1)
+ { /* block id: 685 */
+ int32_t l_1503 = 0x8350D1F8L;
+ const uint16_t *l_1505[7];
+ const uint16_t **l_1506 = &l_1505[1];
+ uint32_t l_1515[2];
+ uint32_t *l_1554[7] = {&l_1515[1],&l_1515[1],&l_1515[1],&l_1515[1],&l_1515[1],&l_1515[1],&l_1515[1]};
+ int32_t l_1567 = (-5L);
+ uint16_t *l_1574 = NULL;
+ uint16_t **l_1573 = &l_1574;
+ int i;
+ for (i = 0; i < 7; i++)
+ l_1505[i] = &g_813;
+ for (i = 0; i < 2; i++)
+ l_1515[i] = 0x234DA6F4L;
+ if (((safe_add_func_int16_t_s_s((((((safe_mul_func_int16_t_s_s((safe_lshift_func_int8_t_s_s(l_1503, 1)), l_1504[0])) , ((((p_57 & (NULL == &p_54)) & 1UL) <= ((((*l_1506) = (g_94 = l_1505[0])) != NULL) , ((safe_mod_func_int16_t_s_s((p_56 = (safe_mod_func_int32_t_s_s(((safe_add_func_int16_t_s_s((*g_691), l_1503)) , p_53), (***g_1249)))), p_53)) == l_1513))) , (**l_1494))) & 0x6641EF11L) , (uint8_t*) NULL) != l_1514), l_1515[1])) & (***g_1249)))
+ { /* block id: 689 */
+ uint32_t l_1516 = 1UL;
+ if (l_1516)
+ { /* block id: 690 */
+ return l_1517;
+ }
+ else
+ { /* block id: 692 */
+ return l_1518;
+ }
+ }
+ else
+ { /* block id: 695 */
+ uint16_t *l_1521 = &g_813;
+ int8_t *l_1536 = &g_532;
+ (*g_1463) = (((((**g_1029) = (safe_mod_func_uint16_t_u_u((NULL != &g_1250), ((*l_1521) ^= 1UL)))) <= (*g_1457)) >= ((safe_unary_minus_func_uint32_t_u((!(**g_1250)))) > (l_1523 <= ((safe_unary_minus_func_uint32_t_u((safe_add_func_uint16_t_u_u((safe_mod_func_int32_t_s_s((safe_rshift_func_int16_t_s_s(((*g_691) = ((safe_mul_func_int16_t_s_s(p_56, (0x2F59L || ((((safe_mod_func_int8_t_s_s(p_53, (*l_1518))) == (-7L)) >= (-1L)) == g_175)))) , 0xBA32L)), p_56)), (*g_1251))), g_89)))) <= p_56)))) , 0xBDB685A7L);
+ if ((*g_1463))
+ continue;
+ (*g_1463) |= (l_1535 != (l_1537 = l_1536));
+ }
+ (*g_1463) |= (safe_mod_func_int8_t_s_s((safe_div_func_int8_t_s_s(p_54, (safe_rshift_func_int8_t_s_u(((safe_rshift_func_uint16_t_u_s(((safe_add_func_int8_t_s_s(((*l_1535) = ((NULL == (*g_1249)) , ((l_1503 || (*g_1251)) > (safe_div_func_int16_t_s_s((safe_add_func_uint32_t_u_u((p_55 = (((safe_sub_func_int32_t_s_s(((g_1555 = 0x02FA4FDCL) != (*l_1493)), (g_1566 ^= (((((safe_sub_func_uint8_t_u_u(((safe_add_func_uint8_t_u_u(p_53, (((safe_mod_func_int8_t_s_s((safe_rshift_func_uint16_t_u_u(((+(p_56 != 0xE9L)) > p_54), (**l_1494))), 0xD9L)) , 0x63D33749L) ^ (**g_1250)))) , l_1515[1]), (*l_1518))) , l_1515[0]) > p_57) , l_1564) != &l_1565)))) , &g_1098) != &p_54)), (**g_1250))), p_57))))), (**l_1494))) | (*l_1493)), l_1515[1])) != (*l_1518)), 0)))), 1L));
+ (*g_1463) = ((l_1568[1] = (!(3L <= l_1567))) && ((safe_rshift_func_int16_t_s_s((safe_sub_func_uint16_t_u_u((*g_94), (*g_94))), (*g_691))) > (((*l_1573) = &g_1566) == &l_1504[0])));
+ if ((*l_1517))
+ break;
+ }
+ for (g_1098 = 1; (g_1098 <= 4); g_1098 += 1)
+ { /* block id: 716 */
+ int8_t l_1596 = (-1L);
+ uint16_t l_1612[10][1];
+ int32_t l_1627[10][8][3] = {{{0xC0858DD3L,0x6CDF6292L,0x0C47EFC1L},{1L,0x2B909333L,(-1L)},{(-1L),0x51500EF7L,8L},{(-3L),1L,(-1L)},{(-10L),0L,0x0C47EFC1L},{0x2B39689EL,(-4L),1L},{0xCF339FD2L,(-4L),0xB192890FL},{0xE885E439L,1L,0xE885E439L}},{{(-1L),(-6L),(-4L)},{0xBA747FABL,0xB96D546FL,(-4L)},{4L,0xCF339FD2L,0x6CDF6292L},{1L,9L,0x05C6FB27L},{4L,0x301C8E77L,8L},{0xBA747FABL,0x28220F40L,4L},{(-1L),0L,0L},{0xE885E439L,0x7AC51D76L,0x7AC51D76L}},{{0xCF339FD2L,0x9B745613L,0x20AF4157L},{0x2B39689EL,(-3L),0xE885E439L},{(-10L),0x0C47EFC1L,6L},{(-3L),0xB96D546FL,0x28220F40L},{(-1L),0x0C47EFC1L,(-6L)},{1L,(-3L),0xC54F3900L},{0xC0858DD3L,0x9B745613L,8L},{0xB96D546FL,0x7AC51D76L,0xE4F7FA0BL}},{{0L,0L,0xCF339FD2L},{0x7085AA06L,0x28220F40L,0xF46FF3C9L},{0xCF339FD2L,0x301C8E77L,0x930F5A2FL},{0x2A0E2F99L,9L,0xE885E439L},{0xE30DA511L,0xCF339FD2L,0x930F5A2FL},{2L,0xB96D546FL,0xF46FF3C9L},{0x1801E895L,(-6L),0xCF339FD2L},{1L,1L,0xE4F7FA0BL}},{{8L,(-4L),8L},{0xC9619119L,(-4L),0xC54F3900L},{0xEF4FC547L,0L,(-6L)},{0x9BB809B8L,1L,0x28220F40L},{0xCF339FD2L,0x51500EF7L,6L},{0x9BB809B8L,0x2B909333L,0xE885E439L},{0xEF4FC547L,0x6CDF6292L,0x20AF4157L},{0xC9619119L,0xB96D546FL,0x7AC51D76L}},{{8L,0L,0L},{0x2A0E2F99L,0xC9619119L,0x2B909333L},{0x930F5A2FL,0xEF4FC547L,6L},{0x28220F40L,0x9BB809B8L,0x4059FABFL},{0x0C47EFC1L,0xCF339FD2L,0x1801E895L},{4L,0x9BB809B8L,0x7085AA06L},{(-1L),0xEF4FC547L,0x51500EF7L},{0xC54F3900L,0xC9619119L,0x05C6FB27L}},{{0xCF339FD2L,8L,(-4L)},{1L,1L,0x2A0E2F99L},{(-4L),0x1801E895L,4L},{0x2A0E2F99L,2L,(-3L)},{0x20AF4157L,0xE30DA511L,6L},{0xF46FF3C9L,0x2A0E2F99L,(-3L)},{0x6CDF6292L,0xCF339FD2L,4L},{(-1L),0x7085AA06L,0x2A0E2F99L}},{{(-1L),0L,(-4L)},{0x05C6FB27L,0xB96D546FL,0x05C6FB27L},{(-6L),0xC0858DD3L,0x51500EF7L},{0x7AC51D76L,1L,0x7085AA06L},{0xB192890FL,(-1L),0x1801E895L},{0x2A0E2F99L,(-3L),0x4059FABFL},{0xB192890FL,(-10L),6L},{0x7AC51D76L,0x2B39689EL,0x2B909333L}},{{(-6L),0xCF339FD2L,8L},{0x05C6FB27L,0xE885E439L,0xE885E439L},{(-1L),(-1L),0x301C8E77L},{(-1L),0xBA747FABL,0x05C6FB27L},{0x6CDF6292L,4L,0x9B745613L},{0xF46FF3C9L,1L,0x2B39689EL},{0x20AF4157L,4L,0xC0858DD3L},{0x2A0E2F99L,0xBA747FABL,9L}},{{(-4L),(-1L),6L},{1L,0xE885E439L,1L},{0xCF339FD2L,0xCF339FD2L,(-1L)},{0xC54F3900L,0x2B39689EL,0x9BB809B8L},{(-1L),(-10L),1L},{4L,(-3L),0x05C6FB27L},{0x0C47EFC1L,(-1L),1L},{0x28220F40L,1L,0x9BB809B8L}}};
+ uint8_t l_1661 = 0x91L;
+ uint8_t l_1672 = 0x8AL;
+ int i, j, k;
+ for (i = 0; i < 10; i++)
+ {
+ for (j = 0; j < 1; j++)
+ l_1612[i][j] = 0xADEAL;
+ }
+ if (p_53)
+ goto lbl_1575;
+ for (g_813 = 1; (g_813 <= 4); g_813 += 1)
+ { /* block id: 720 */
+ int16_t l_1610[5];
+ int32_t l_1628 = 1L;
+ int32_t l_1631 = 0x2FD5F7A3L;
+ int32_t l_1632 = 0x49EF7935L;
+ int32_t l_1634 = 0xBFA600F1L;
+ int32_t l_1639 = 0xDFC860C3L;
+ int32_t l_1647 = 0x7A248064L;
+ int32_t l_1648 = 0x06A924C2L;
+ int32_t l_1651 = 0x3BAFF8AFL;
+ int32_t l_1652 = 0xE4B57DEBL;
+ int32_t l_1653 = 0x330A2A19L;
+ int32_t l_1654 = 0xF11007C4L;
+ int32_t l_1655 = 1L;
+ int32_t l_1656[6];
+ uint8_t l_1658 = 0x6DL;
+ int32_t l_1675 = 8L;
+ uint16_t l_1676 = 0x29D9L;
+ int i;
+ for (i = 0; i < 5; i++)
+ l_1610[i] = 0xB1EEL;
+ for (i = 0; i < 6; i++)
+ l_1656[i] = 1L;
+ if (((safe_mul_func_uint8_t_u_u((((l_1612[9][0] = ((safe_sub_func_uint8_t_u_u(((++(*g_1251)) & 0x55C69D38L), (((*g_94) , (safe_lshift_func_int16_t_s_u((safe_sub_func_int32_t_s_s(((+(safe_lshift_func_int8_t_s_s((safe_add_func_int8_t_s_s((*l_1517), ((*l_1535) ^= ((safe_mul_func_uint8_t_u_u((safe_add_func_int32_t_s_s((safe_sub_func_int8_t_s_s((((l_1596 & (*l_1517)) || (((*l_1514) = ((safe_mul_func_int8_t_s_s(0xBAL, (p_57 > (!((safe_add_func_int8_t_s_s(((safe_sub_func_uint32_t_u_u((safe_unary_minus_func_int16_t_s(((safe_lshift_func_uint8_t_u_s(0xB1L, 6)) == (safe_rshift_func_uint8_t_u_s(((safe_sub_func_int16_t_s_s((0x08L == p_57), l_1610[4])) , (*g_1457)), 7))))), p_53)) , (**g_1027)), (*l_1518))) | l_1596))))) && (*l_1517))) , p_56)) >= g_1611), l_1596)), 0UL)), l_1596)) < (**g_1027))))), 4))) > (*g_1457)), p_53)), p_54))) ^ l_1596))) | p_57)) || 1UL) , p_55), l_1610[4])) == 8L))
+ { /* block id: 725 */
+ int32_t *l_1613 = &g_89;
+ int32_t *l_1614 = &g_1555;
+ int32_t *l_1615 = &g_1555;
+ int32_t *l_1616 = &l_1568[5];
+ int32_t *l_1618 = &g_101[0][1][4];
+ int32_t *l_1619 = &g_1555;
+ int32_t *l_1620 = &g_10;
+ int32_t *l_1621 = &l_1568[3];
+ int32_t *l_1622 = &g_1555;
+ int32_t *l_1623 = &l_1617;
+ int32_t *l_1624 = &g_89;
+ int32_t *l_1625[8][10][3] = {{{&g_1555,NULL,&g_89},{&l_1568[5],&l_1568[1],&g_89},{&g_89,&l_1568[1],&l_1568[5]},{&l_1568[5],NULL,NULL},{&g_1555,&l_1568[1],&g_89},{&l_1568[1],&l_1568[1],NULL},{&g_89,NULL,&l_1568[5]},{&l_1568[1],NULL,&g_89},{&g_1555,NULL,&g_89},{&l_1568[5],&l_1568[1],&g_89}},{{&g_89,&l_1568[1],&l_1568[5]},{&l_1568[5],NULL,NULL},{&g_1555,&l_1568[1],&g_89},{&l_1568[1],&l_1568[1],NULL},{&g_89,NULL,&l_1568[5]},{&l_1568[1],NULL,&g_89},{&g_1555,NULL,&g_89},{&l_1568[5],&l_1568[1],&g_89},{&g_89,&l_1568[1],&l_1568[5]},{&l_1568[5],NULL,NULL}},{{&g_1555,&l_1568[1],&g_89},{&l_1568[1],&l_1568[1],NULL},{&g_89,NULL,&l_1568[5]},{&l_1568[1],NULL,&g_89},{&g_1555,NULL,&g_101[0][1][4]},{&l_1568[1],&l_1568[1],&l_1617},{&l_1568[5],NULL,NULL},{&l_1568[1],&g_1555,&g_1555},{NULL,NULL,&g_101[0][1][4]},{NULL,&l_1568[1],&g_1555}},{{&l_1568[5],&l_1568[4],NULL},{NULL,&g_1555,&l_1617},{NULL,&l_1568[4],&g_101[0][1][4]},{&l_1568[1],&l_1568[1],&l_1617},{&l_1568[5],NULL,NULL},{&l_1568[1],&g_1555,&g_1555},{NULL,NULL,&g_101[0][1][4]},{NULL,&l_1568[1],&g_1555},{&l_1568[5],&l_1568[4],NULL},{NULL,&g_1555,&l_1617}},{{NULL,&l_1568[4],&g_101[0][1][4]},{&l_1568[1],&l_1568[1],&l_1617},{&l_1568[5],NULL,NULL},{&l_1568[1],&g_1555,&g_1555},{NULL,NULL,&g_101[0][1][4]},{NULL,&l_1568[1],&g_1555},{&l_1568[5],&l_1568[4],NULL},{NULL,&g_1555,&l_1617},{NULL,&l_1568[4],&g_101[0][1][4]},{&l_1568[1],&l_1568[1],&l_1617}},{{&l_1568[5],NULL,NULL},{&l_1568[1],&g_1555,&g_1555},{NULL,NULL,&g_101[0][1][4]},{NULL,&l_1568[1],&g_1555},{&l_1568[5],&l_1568[4],NULL},{NULL,&g_1555,&l_1617},{NULL,&l_1568[4],&g_101[0][1][4]},{&l_1568[1],&l_1568[1],&l_1617},{&l_1568[5],NULL,NULL},{&l_1568[1],&g_1555,&g_1555}},{{NULL,NULL,&g_101[0][1][4]},{NULL,&l_1568[1],&g_1555},{&l_1568[5],&l_1568[4],NULL},{NULL,&g_1555,&l_1617},{NULL,&l_1568[4],&g_101[0][1][4]},{&l_1568[1],&l_1568[1],&l_1617},{&l_1568[5],NULL,NULL},{&l_1568[1],&g_1555,&g_1555},{NULL,NULL,&g_101[0][1][4]},{NULL,&l_1568[1],&g_1555}},{{&l_1568[5],&l_1568[4],NULL},{NULL,&g_1555,&l_1617},{NULL,&l_1568[4],&g_101[0][1][4]},{&l_1568[1],&l_1568[1],&l_1617},{&l_1568[5],NULL,NULL},{&l_1568[1],&g_1555,&g_1555},{NULL,NULL,&g_101[0][1][4]},{NULL,&l_1568[1],&g_1555},{&l_1568[5],&l_1568[4],NULL},{NULL,&g_1555,&l_1617}}};
+ int32_t l_1633[6][3][5] = {{{0x54E12B57L,(-1L),(-1L),0x54E12B57L,0x549A8D90L},{0x54E12B57L,0xD8394710L,0x67A448C4L,0x55C0B040L,0L},{0L,(-1L),0x67A448C4L,0xC213F2D5L,(-1L)}},{{0x2BAA21AFL,0xA4F12C09L,(-1L),0x55C0B040L,(-1L)},{8L,1L,1L,0x54E12B57L,0L},{0L,0x2BAA21AFL,6L,1L,(-1L)}},{{0x5288A55AL,6L,0L,1L,(-4L)},{0L,8L,8L,0L,(-1L)},{0L,0x55C0B040L,0xC213F2D5L,0x9E74C91AL,6L}},{{0x5288A55AL,8L,0xC213F2D5L,(-5L),0xFDBFCCF4L},{0L,6L,8L,0x9E74C91AL,0xFDBFCCF4L},{1L,0x2BAA21AFL,0L,0L,6L}},{{0L,0x2BAA21AFL,6L,1L,(-1L)},{0x5288A55AL,6L,0L,1L,(-4L)},{0L,8L,8L,0L,(-1L)}},{{0L,0x55C0B040L,0xC213F2D5L,0x9E74C91AL,6L},{0x5288A55AL,8L,0xC213F2D5L,(-5L),0xFDBFCCF4L},{0L,6L,8L,0x9E74C91AL,0xFDBFCCF4L}}};
+ int i, j, k;
+ --l_1658;
+ l_1661++;
+ (*l_1623) &= (safe_div_func_uint32_t_u_u((*l_1517), p_54));
+ if (p_57)
+ continue;
+ }
+ else
+ { /* block id: 730 */
+ if (p_57)
+ break;
+ }
+ (*g_1463) = (-4L);
+ for (l_1648 = 4; (l_1648 >= 1); l_1648 -= 1)
+ { /* block id: 736 */
+ int32_t *l_1666 = &l_1654;
+ int32_t *l_1667 = &l_1634;
+ int32_t *l_1668 = NULL;
+ int32_t *l_1669 = &l_1629[1][0];
+ int32_t *l_1670[3][6] = {{&l_1628,&l_1636,&l_1636,&l_1628,NULL,&l_1628},{&l_1628,NULL,&l_1628,&l_1636,&l_1636,&l_1628},{NULL,NULL,&l_1636,&l_1629[1][0],&l_1636,NULL}};
+ int i, j;
+ l_1672++;
+ l_1676--;
+ }
+ }
+ }
+ }
+ }
+ (*l_1494) = NULL;
+ return (*l_1494);
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_94 g_95 g_168 g_1457 g_1098 g_1249 g_1250 g_1251 g_534 g_1489 g_1463 g_88 g_101 g_813
+ * writes: g_168 g_534 g_1486 g_1487 g_10 g_101
+ */
+static int32_t * func_64(uint16_t p_65, int32_t * p_66)
+{ /* block id: 664 */
+ int32_t *l_1470 = &g_8[0];
+ int32_t **l_1471 = &l_1470;
+ int32_t l_1472 = 8L;
+ uint16_t *l_1473[2][3] = {{&g_813,&g_168,&g_168},{&g_813,&g_168,&g_168}};
+ int32_t l_1482 = 4L;
+ int32_t **l_1483[8][2] = {{&g_88,NULL},{&g_88,&g_88},{NULL,&g_88},{&g_88,NULL},{&g_88,&g_88},{NULL,&g_88},{&g_88,NULL},{&g_88,&g_88}};
+ int32_t **l_1485 = &g_1463;
+ int32_t ***l_1484[7];
+ uint16_t *l_1488 = &g_168;
+ int i, j;
+ for (i = 0; i < 7; i++)
+ l_1484[i] = &l_1485;
+ (*g_88) |= (safe_sub_func_int16_t_s_s(((((safe_add_func_int8_t_s_s((((safe_rshift_func_uint16_t_u_s(((((*l_1471) = l_1470) != ((l_1472 , (((g_168 ^= (*g_94)) , (safe_lshift_func_int16_t_s_u((safe_mul_func_uint8_t_u_u((*g_1457), ((safe_div_func_uint32_t_u_u((++(***g_1249)), ((*g_1463) = (((((l_1482 ^= l_1472) && (l_1482 , ((l_1483[2][0] == (g_1487 = (g_1486 = &p_66))) , (((((((~((l_1488 == NULL) == p_65)) , (int16_t******) NULL) == g_1489) <= 0xAAB5L) , l_1488) == l_1488) == p_65)))) & (*g_94)) <= p_65) ^ p_65)))) <= p_65))), 11))) > 0xF0D8L)) , p_66)) < 65535UL), p_65)) != 4UL) <= p_65), p_65)) , (***g_1249)) == 0xE4B2D116L) | 7L), p_65));
+ return p_66;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_14 g_735 g_101 g_1250 g_1251 g_94 g_95 g_534 g_679 g_1029 g_207 g_208 g_691 g_88 g_1463 g_813
+ * writes: g_14 g_534 g_1028 g_1452 g_101 g_1456 g_735 g_175
+ */
+static int32_t * func_69(int8_t p_70)
+{ /* block id: 646 */
+ uint8_t *l_1419[9] = {&g_177,&g_1098,&g_177,&g_177,&g_1098,&g_177,&g_177,&g_1098,&g_177};
+ int32_t l_1420 = 0x8112C32BL;
+ int32_t l_1421 = 0x5D192EC3L;
+ int32_t l_1422 = (-2L);
+ int32_t l_1423 = 3L;
+ int32_t l_1424[1][7][9] = {{{0xA557835BL,0x13D4A42FL,0x65F5FA38L,0x65F5FA38L,0x13D4A42FL,0xA557835BL,0x11973284L,(-3L),3L},{0L,(-3L),1L,(-1L),1L,0x2B1E312BL,0xA557835BL,0x65F5FA38L,0xD082371BL},{(-1L),1L,(-3L),0L,0x11973284L,(-10L),0x11973284L,0L,(-3L)},{0x65F5FA38L,0x65F5FA38L,0x13D4A42FL,0xA557835BL,0x11973284L,(-3L),3L,0xD082371BL,7L},{0xCC668815L,0x7AE882F6L,0xD082371BL,(-6L),1L,(-1L),0x2B1E312BL,0x11973284L,0x11973284L},{7L,0x5A5A6D7DL,0x13D4A42FL,1L,0x13D4A42FL,0x5A5A6D7DL,7L,(-1L),4L},{7L,0x2B1E312BL,(-3L),0x5A5A6D7DL,0L,1L,(-1L),(-10L),0xA557835BL}}};
+ int16_t ***** const l_1427 = &g_1102;
+ int16_t *****l_1428 = &g_1102;
+ int16_t ******l_1429 = &l_1428;
+ int16_t *l_1442 = &g_175;
+ int32_t l_1443 = 0xCFA03042L;
+ int8_t ***l_1450 = &g_1029;
+ int8_t ****l_1451[8][6][5] = {{{&g_1028,&l_1450,NULL,NULL,NULL},{&g_1028,&l_1450,&l_1450,&g_1028,&l_1450},{&g_1028,&g_1028,NULL,&l_1450,&g_1028},{&l_1450,&l_1450,&l_1450,&g_1028,&g_1028},{&g_1028,&g_1028,&g_1028,&g_1028,&g_1028},{&g_1028,&l_1450,&g_1028,&l_1450,&g_1028}},{{NULL,&g_1028,&l_1450,&g_1028,&l_1450},{NULL,&l_1450,&g_1028,&g_1028,&l_1450},{NULL,&g_1028,&l_1450,&l_1450,&l_1450},{&g_1028,&g_1028,&g_1028,&l_1450,&g_1028},{&g_1028,NULL,&l_1450,NULL,&l_1450},{&l_1450,NULL,&g_1028,&g_1028,&l_1450}},{{&g_1028,NULL,&g_1028,&l_1450,&l_1450},{&l_1450,&g_1028,&l_1450,&g_1028,&g_1028},{&g_1028,&g_1028,&l_1450,NULL,&g_1028},{&l_1450,&l_1450,&g_1028,&l_1450,&g_1028},{&g_1028,&g_1028,&l_1450,&l_1450,&g_1028},{&l_1450,&l_1450,&l_1450,&g_1028,&g_1028}},{{&g_1028,&g_1028,&g_1028,&g_1028,&g_1028},{&g_1028,&l_1450,&g_1028,&l_1450,&g_1028},{NULL,&g_1028,&l_1450,&g_1028,&l_1450},{NULL,&l_1450,&g_1028,&g_1028,&l_1450},{NULL,&g_1028,&l_1450,&l_1450,&l_1450},{&g_1028,&g_1028,&g_1028,&l_1450,&g_1028}},{{&g_1028,NULL,&l_1450,NULL,&l_1450},{&l_1450,NULL,&g_1028,&g_1028,&l_1450},{&g_1028,NULL,&g_1028,&l_1450,&l_1450},{&l_1450,&g_1028,&l_1450,&g_1028,&g_1028},{&g_1028,&g_1028,&l_1450,NULL,&g_1028},{&l_1450,&l_1450,&g_1028,&l_1450,&g_1028}},{{&g_1028,&g_1028,&l_1450,&l_1450,&g_1028},{&l_1450,&l_1450,&l_1450,&g_1028,&g_1028},{&g_1028,&g_1028,&g_1028,&g_1028,&g_1028},{&g_1028,&l_1450,&g_1028,&l_1450,&g_1028},{NULL,&g_1028,&l_1450,&g_1028,&l_1450},{NULL,&l_1450,&g_1028,&g_1028,&l_1450}},{{NULL,&g_1028,&l_1450,&l_1450,&l_1450},{&g_1028,&g_1028,&g_1028,&l_1450,&g_1028},{&g_1028,NULL,&l_1450,NULL,&l_1450},{&l_1450,NULL,&g_1028,&g_1028,&l_1450},{&g_1028,NULL,&g_1028,&l_1450,&g_1028},{&l_1450,&g_1028,&g_1028,&g_1028,&l_1450}},{{&g_1028,&l_1450,&g_1028,&g_1028,&g_1028},{&l_1450,&l_1450,&l_1450,&l_1450,&l_1450},{&g_1028,&g_1028,&g_1028,&l_1450,&g_1028},{&l_1450,&l_1450,&g_1028,&l_1450,&l_1450},{&l_1450,&g_1028,&g_1028,&g_1028,&g_1028},{&g_1028,&l_1450,&g_1028,&l_1450,&l_1450}}};
+ int32_t **l_1453 = &g_735;
+ uint8_t **l_1455[5][6][8];
+ uint8_t ***l_1454[4][4][6] = {{{&l_1455[0][4][6],&l_1455[0][4][6],&l_1455[4][5][0],NULL,&l_1455[0][1][4],&l_1455[1][2][1]},{&l_1455[4][5][0],&l_1455[3][2][5],&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[4][5][0]},{NULL,&l_1455[4][5][0],&l_1455[4][5][0],NULL,&l_1455[0][4][6],&l_1455[1][2][1]},{&l_1455[3][0][2],NULL,&l_1455[4][5][0],&l_1455[4][5][6],&l_1455[4][5][0],&l_1455[4][5][6]}},{{&l_1455[4][5][6],&l_1455[4][5][0],&l_1455[4][5][6],&l_1455[4][5][0],NULL,&l_1455[3][0][2]},{&l_1455[1][2][1],&l_1455[0][4][6],NULL,&l_1455[4][5][0],&l_1455[4][5][0],NULL},{&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[3][2][5],&l_1455[4][5][0]},{&l_1455[1][2][1],&l_1455[0][1][4],NULL,&l_1455[4][5][0],&l_1455[0][4][6],&l_1455[0][4][6]}},{{&l_1455[4][5][6],&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[4][5][6],&l_1455[1][2][3],&l_1455[4][5][0]},{&l_1455[3][0][2],NULL,&l_1455[4][5][6],NULL,NULL,&l_1455[4][5][0]},{NULL,&l_1455[0][4][6],&l_1455[0][1][4],&l_1455[4][5][0],NULL,NULL},{&l_1455[4][5][0],NULL,&l_1455[2][0][1],NULL,&l_1455[1][2][3],&l_1455[4][5][0]}},{{&l_1455[0][4][6],&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[0][4][6],&l_1455[4][5][0]},{&l_1455[4][5][0],&l_1455[0][1][4],NULL,&l_1455[4][5][6],&l_1455[3][2][5],&l_1455[4][5][0]},{&l_1455[4][5][0],&l_1455[4][5][0],&l_1455[4][5][6],&l_1455[0][1][4],&l_1455[4][5][0],&l_1455[4][5][0]},{NULL,&l_1455[0][4][6],NULL,&l_1455[2][0][1],NULL,&l_1455[4][5][0]}}};
+ int16_t l_1459 = 5L;
+ int i, j, k;
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 6; j++)
+ {
+ for (k = 0; k < 8; k++)
+ l_1455[i][j][k] = &l_1419[0];
+ }
+ }
+ l_1423 |= ((safe_add_func_int32_t_s_s(0L, ((**g_1250) = (safe_lshift_func_int8_t_s_u(((safe_div_func_uint8_t_u_u((g_14++), (((l_1427 == ((*l_1429) = l_1428)) ^ (-6L)) && p_70))) != (safe_rshift_func_uint8_t_u_u(((safe_rshift_func_int16_t_s_u((((l_1443 = (safe_div_func_uint32_t_u_u((safe_add_func_int32_t_s_s((*g_735), ((l_1424[0][5][3] <= ((safe_mod_func_uint16_t_u_u(p_70, ((l_1442 == NULL) , 0x8830L))) < p_70)) & p_70))), p_70))) && 0L) > l_1422), p_70)) ^ 0x24L), l_1420))), l_1421))))) == l_1420);
+ (*g_735) = ((*g_94) && (safe_rshift_func_int8_t_s_s((((((((safe_rshift_func_int16_t_s_s((p_70 == ((((*l_1429) != (*l_1429)) , ((l_1423 <= (((**g_1250) , (((safe_div_func_int16_t_s_s(((g_1452 = (g_1028 = l_1450)) != NULL), p_70)) , (*g_94)) || 0x2E08L)) >= l_1421)) && p_70)) , l_1420)), 7)) <= g_679[0][4]) == 0x8AD548DCL) || (**g_1029)) , l_1453) != NULL) && p_70), 1)));
+ if (((g_1456 = &l_1419[0]) != NULL))
+ { /* block id: 656 */
+ int32_t *l_1458[3][9][3] = {{{NULL,NULL,&l_1422},{&l_1421,&l_1420,&g_89},{NULL,&g_101[0][0][0],&g_10},{&l_1443,&l_1443,&l_1422},{NULL,&l_1443,&g_89},{NULL,&g_101[0][0][0],&l_1443},{&l_1422,&l_1420,&g_89},{&g_10,NULL,&l_1443},{&g_10,&g_89,&g_89}},{{&g_89,&l_1421,&l_1422},{&g_89,&l_1422,&g_10},{&g_10,NULL,&g_89},{&g_10,&l_1422,&l_1422},{&l_1422,NULL,NULL},{NULL,&l_1422,NULL},{NULL,&l_1421,NULL},{&l_1443,&g_89,NULL},{NULL,NULL,&l_1422}},{{&l_1421,&l_1420,&g_89},{NULL,&g_101[0][0][0],&l_1421},{&g_10,&g_10,&l_1420},{&g_89,&g_10,&l_1422},{&l_1423,&l_1443,&g_10},{&g_101[0][0][0],&l_1422,NULL},{&l_1421,&l_1423,&g_10},{&g_89,&l_1422,&l_1422},{&g_89,&g_10,&l_1420}}};
+ uint8_t l_1460[9][9][3] = {{{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL}},{{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL}},{{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL}},{{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL}},{{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL}},{{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL},{255UL,255UL,255UL},{250UL,0UL,0UL},{250UL,250UL,0UL},{255UL,0UL,0UL},{0UL,255UL,0UL}},{{255UL,255UL,255UL},{250UL,0UL,0UL},{0UL,0UL,255UL},{0UL,255UL,255UL},{255UL,250UL,255UL},{0UL,250UL,0UL},{0UL,255UL,255UL},{0UL,0UL,255UL},{0UL,255UL,255UL}},{{255UL,250UL,255UL},{0UL,250UL,0UL},{0UL,255UL,255UL},{0UL,0UL,255UL},{0UL,255UL,255UL},{255UL,250UL,255UL},{0UL,250UL,0UL},{0UL,255UL,255UL},{0UL,0UL,255UL}},{{0UL,255UL,255UL},{255UL,250UL,255UL},{0UL,250UL,0UL},{0UL,255UL,255UL},{0UL,0UL,255UL},{0UL,255UL,255UL},{255UL,250UL,255UL},{0UL,250UL,0UL},{0UL,255UL,255UL}}};
+ int i, j, k;
+ (*l_1453) = l_1458[0][6][1];
+ --l_1460[3][2][1];
+ }
+ else
+ { /* block id: 659 */
+ (*g_88) = (((*g_691) = p_70) <= 65534UL);
+ }
+ return g_1463;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_912
+ * writes: g_735 g_88
+ */
+static uint8_t func_76(uint8_t p_77, const int32_t * const p_78, int32_t * p_79)
+{ /* block id: 640 */
+ int32_t **l_1411 = &g_735;
+ int32_t **l_1412 = &g_88;
+ (*l_1412) = func_80(((*l_1411) = p_79));
+ (*l_1412) = p_79;
+ return g_912;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads :
+ * writes:
+ */
+static int32_t * const func_80(int32_t * p_81)
+{ /* block id: 638 */
+ return p_81;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads :
+ * writes:
+ */
+static int32_t * func_82(int32_t p_83, uint16_t p_84, int32_t * p_85)
+{ /* block id: 13 */
+ int32_t l_592[2];
+ const int32_t l_595[2][2][1] = {{{(-1L)},{(-1L)}},{{(-1L)},{(-1L)}}};
+ const int8_t l_598 = 0xC0L;
+ uint16_t *l_610 = &g_168;
+ int8_t l_655 = 1L;
+ int32_t l_656[8][1][1] = {{{4L}},{{4L}},{{0xD2B475C6L}},{{4L}},{{4L}},{{0xD2B475C6L}},{{4L}},{{4L}}};
+ uint32_t l_663 = 0UL;
+ int16_t l_678 = 0x00A6L;
+ int16_t l_680 = 0L;
+ int32_t ***l_715 = NULL;
+ int16_t * const *l_864[10];
+ uint32_t l_907[10] = {0x8FD9B42AL,0xCB637439L,0x8FD9B42AL,0x8FD9B42AL,0xCB637439L,0x8FD9B42AL,0x8FD9B42AL,0xCB637439L,0x8FD9B42AL,0x8FD9B42AL};
+ int8_t l_911 = (-9L);
+ int32_t l_964 = 0xA692B646L;
+ int32_t l_1012 = (-9L);
+ int32_t l_1093[4][3][8] = {{{2L,9L,(-3L),9L,2L,0L,0x9A570B86L,1L},{0L,0x56E35751L,2L,(-1L),0xB912FE8EL,0L,9L,9L},{0x9BC7F200L,0x19546F1DL,2L,2L,0x19546F1DL,0x9BC7F200L,0x9A570B86L,0xB912FE8EL}},{{0xB912FE8EL,0x68511652L,(-3L),1L,9L,(-1L),0x9BC7F200L,0L},{(-3L),0x67113F6AL,0L,1L,0L,0x67113F6AL,(-3L),0xB912FE8EL},{0x19546F1DL,0L,0x56E35751L,2L,(-1L),0xB912FE8EL,0L,9L}},{{1L,0xE0D73146L,0x33C53D7FL,(-1L),(-1L),0x33C53D7FL,0xE0D73146L,1L},{0x19546F1DL,1L,0x67113F6AL,9L,0L,0xE0D73146L,0x56E35751L,0x68511652L},{(-3L),0x9BC7F200L,4L,0xE0D73146L,9L,0xE0D73146L,4L,0x9BC7F200L}},{{0xB912FE8EL,1L,0x68511652L,0x9A570B86L,0x19546F1DL,0x33C53D7FL,0L,4L},{0x9BC7F200L,0xE0D73146L,(-1L),0L,0xB912FE8EL,0xB912FE8EL,0L,(-1L)},{0L,0L,0x68511652L,0x33C53D7FL,2L,0x67113F6AL,(-1L),1L}}};
+ int32_t l_1120 = 0x0B67F3DBL;
+ uint16_t l_1130 = 7UL;
+ uint8_t l_1193[7][9][3] = {{{0x19L,0x45L,251UL},{246UL,1UL,0x9BL},{255UL,0UL,0UL},{0x90L,255UL,0x37L},{0x96L,0x19L,255UL},{0x96L,0xE8L,253UL},{0x90L,0xC2L,250UL},{255UL,255UL,251UL},{246UL,0xB5L,0xABL}},{{0x19L,255UL,0x90L},{1UL,0xC2L,4UL},{255UL,0xE8L,0x42L},{8UL,0x19L,0x42L},{249UL,255UL,4UL},{0UL,0UL,0x90L},{8UL,1UL,0xABL},{0UL,0x45L,251UL},{8UL,0x73L,250UL}},{{0UL,246UL,253UL},{249UL,8UL,255UL},{8UL,8UL,0x37L},{255UL,246UL,0UL},{1UL,0x73L,0x9BL},{0x19L,0x45L,251UL},{246UL,1UL,0x9BL},{255UL,0UL,0UL},{0x90L,255UL,0x37L}},{{0x96L,0x19L,255UL},{0x96L,0xE8L,253UL},{0x90L,0xC2L,250UL},{255UL,255UL,251UL},{246UL,0xB5L,0xABL},{0x19L,255UL,0x90L},{1UL,0xC2L,4UL},{255UL,0xE8L,0x42L},{8UL,0x19L,0x42L}},{{249UL,255UL,4UL},{0UL,0UL,0x90L},{8UL,1UL,0xABL},{0UL,0x45L,251UL},{8UL,0x73L,250UL},{0UL,246UL,253UL},{249UL,8UL,255UL},{8UL,8UL,0x37L},{255UL,246UL,0UL}},{{1UL,0x73L,0x9BL},{0x19L,0x45L,251UL},{246UL,1UL,0x9BL},{255UL,0UL,0UL},{0x90L,255UL,0x37L},{0x96L,0x19L,255UL},{0x96L,0xE8L,253UL},{0x90L,0xC2L,250UL},{255UL,255UL,251UL}},{{246UL,0xB5L,0xABL},{0x19L,255UL,0x90L},{1UL,0xC2L,4UL},{255UL,0xE8L,0x42L},{8UL,0x19L,0x42L},{249UL,255UL,4UL},{0UL,0UL,0x90L},{8UL,1UL,0xABL},{0UL,0x45L,251UL}}};
+ uint32_t l_1214 = 0xA67816D7L;
+ int8_t **l_1230 = &g_207[2];
+ int32_t *l_1239 = &l_656[3][0][0];
+ int16_t ** const *l_1292 = &g_435;
+ int16_t ** const **l_1291 = &l_1292;
+ int32_t l_1329 = 0L;
+ int16_t ***l_1339 = &g_435;
+ uint32_t l_1340 = 0xE0FECC7EL;
+ const uint32_t ***l_1369 = NULL;
+ int i, j, k;
+ for (i = 0; i < 2; i++)
+ l_592[i] = 0x6EF68121L;
+ for (i = 0; i < 10; i++)
+ l_864[i] = NULL;
+ for (p_84 = 14; (p_84 == 60); p_84 = safe_add_func_int16_t_s_s(p_84, 4))
+ { /* block id: 16 */
+ int32_t *l_594[4];
+ int32_t **l_593 = &l_594[2];
+ int32_t l_616 = (-1L);
+ int32_t l_619 = 1L;
+ int16_t * const l_648[5] = {&g_175,&g_175,&g_175,&g_175,&g_175};
+ int32_t l_653[4][1];
+ uint32_t l_681 = 1UL;
+ int8_t **l_876 = NULL;
+ int8_t l_904 = 0x2AL;
+ uint32_t l_908 = 0xDB682572L;
+ int32_t l_910 = (-10L);
+ int16_t l_1180[6];
+ int8_t l_1233 = (-9L);
+ int16_t l_1234 = 1L;
+ int32_t l_1306 = 1L;
+ int32_t l_1323 = 1L;
+ uint8_t l_1400[3][9];
+ int i, j;
+ for (i = 0; i < 4; i++)
+ l_594[i] = &g_8[0];
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 1; j++)
+ l_653[i][j] = (-2L);
+ }
+ for (i = 0; i < 6; i++)
+ l_1180[i] = 0x47ABL;
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 0; j < 9; j++)
+ l_1400[i][j] = 0x4EL;
+ }
+ }
+ return &g_10;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_88 g_89
+ * writes:
+ */
+static int32_t func_92(const uint16_t * p_93)
+{ /* block id: 17 */
+ uint8_t l_96 = 0x79L;
+ uint8_t l_135 = 0xE2L;
+ int32_t l_145 = 0x9B5C0F6DL;
+ const int32_t *l_153 = NULL;
+ int32_t l_157 = 0xF2D310D2L;
+ int32_t *l_182[6] = {&g_8[2],NULL,&g_8[2],&g_8[2],NULL,&g_8[2]};
+ int32_t **l_181 = &l_182[3];
+ int32_t l_195 = 0x4882324AL;
+ uint8_t l_196[9] = {0x74L,0xD3L,0x74L,0xD3L,0x74L,0xD3L,0x74L,0xD3L,0x74L};
+ uint8_t l_241 = 0x45L;
+ int32_t *l_244 = &l_195;
+ uint16_t *l_266 = NULL;
+ int32_t ***l_312 = &l_181;
+ uint16_t l_333 = 65532UL;
+ uint16_t l_407 = 0UL;
+ uint8_t l_455 = 1UL;
+ int16_t **l_473 = NULL;
+ const int32_t *l_494 = &l_145;
+ int32_t l_513 = (-1L);
+ int16_t l_567 = 0x6F4BL;
+ int32_t *l_589 = &l_513;
+ int i;
+ return (*g_88);
+}
+
+
+
+
+/* ---------------------------------------- */
+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();
+ for (i = 0; i < 4; i++)
+ {
+ transparent_crc(g_8[i], "g_8[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ transparent_crc(g_10, "g_10", print_hash_value);
+ transparent_crc(g_14, "g_14", print_hash_value);
+ transparent_crc(g_68, "g_68", print_hash_value);
+ transparent_crc(g_89, "g_89", print_hash_value);
+ transparent_crc(g_95, "g_95", print_hash_value);
+ for (i = 0; i < 1; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ for (k = 0; k < 5; k++)
+ {
+ transparent_crc(g_101[i][j][k], "g_101[i][j][k]", print_hash_value);
+ if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);
+
+ }
+ }
+ }
+ transparent_crc(g_168, "g_168", print_hash_value);
+ transparent_crc(g_175, "g_175", print_hash_value);
+ transparent_crc(g_177, "g_177", print_hash_value);
+ transparent_crc(g_208, "g_208", print_hash_value);
+ transparent_crc(g_263, "g_263", print_hash_value);
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 1; j++)
+ {
+ for (k = 0; k < 5; k++)
+ {
+ transparent_crc(g_324[i][j][k], "g_324[i][j][k]", print_hash_value);
+ if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);
+
+ }
+ }
+ }
+ transparent_crc(g_369, "g_369", print_hash_value);
+ transparent_crc(g_490, "g_490", print_hash_value);
+ transparent_crc(g_532, "g_532", print_hash_value);
+ transparent_crc(g_534, "g_534", print_hash_value);
+ for (i = 0; i < 1; i++)
+ {
+ for (j = 0; j < 5; j++)
+ {
+ transparent_crc(g_679[i][j], "g_679[i][j]", print_hash_value);
+ if (print_hash_value) printf("index = [%d][%d]\n", i, j);
+
+ }
+ }
+ transparent_crc(g_813, "g_813", print_hash_value);
+ transparent_crc(g_906, "g_906", print_hash_value);
+ transparent_crc(g_912, "g_912", print_hash_value);
+ transparent_crc(g_1098, "g_1098", print_hash_value);
+ transparent_crc(g_1555, "g_1555", print_hash_value);
+ transparent_crc(g_1566, "g_1566", print_hash_value);
+ transparent_crc(g_1611, "g_1611", print_hash_value);
+ for (i = 0; i < 8; i++)
+ {
+ transparent_crc(g_1671[i], "g_1671[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ transparent_crc(g_1726, "g_1726", print_hash_value);
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ transparent_crc(g_1781[i][j], "g_1781[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_1846[i], "g_1846[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ for (i = 0; i < 9; i++)
+ {
+ for (j = 0; j < 9; j++)
+ {
+ for (k = 0; k < 3; k++)
+ {
+ transparent_crc(g_1878[i][j][k], "g_1878[i][j][k]", print_hash_value);
+ if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);
+
+ }
+ }
+ }
+ transparent_crc(g_2002, "g_2002", print_hash_value);
+ platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
+ return 0;
+}
+
+/************************ statistics *************************
+XXX max struct depth: 0
+breakdown:
+ depth: 0, occurrence: 489
+XXX total union variables: 0
+
+XXX non-zero bitfields defined in structs: 0
+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: 0
+breakdown:
+XXX full-bitfields structs in the program: 0
+breakdown:
+XXX times a bitfields struct's address is taken: 0
+XXX times a bitfields struct on LHS: 0
+XXX times a bitfields struct on RHS: 0
+XXX times a single bitfield on LHS: 0
+XXX times a single bitfield on RHS: 0
+
+XXX max expression depth: 60
+breakdown:
+ depth: 1, occurrence: 97
+ depth: 2, occurrence: 14
+ depth: 3, occurrence: 5
+ depth: 4, occurrence: 1
+ depth: 8, occurrence: 1
+ depth: 9, occurrence: 1
+ depth: 18, occurrence: 2
+ depth: 19, occurrence: 2
+ depth: 20, occurrence: 1
+ depth: 22, occurrence: 1
+ depth: 24, occurrence: 2
+ depth: 26, occurrence: 1
+ depth: 28, occurrence: 1
+ depth: 31, occurrence: 1
+ depth: 33, occurrence: 2
+ depth: 35, occurrence: 1
+ depth: 39, occurrence: 1
+ depth: 40, occurrence: 1
+ depth: 41, occurrence: 1
+ depth: 60, occurrence: 1
+
+XXX total number of pointers: 435
+
+XXX times a variable address is taken: 1134
+XXX times a pointer is dereferenced on RHS: 320
+breakdown:
+ depth: 1, occurrence: 285
+ depth: 2, occurrence: 27
+ depth: 3, occurrence: 8
+XXX times a pointer is dereferenced on LHS: 267
+breakdown:
+ depth: 1, occurrence: 244
+ depth: 2, occurrence: 16
+ depth: 3, occurrence: 6
+ depth: 4, occurrence: 1
+XXX times a pointer is compared with null: 45
+XXX times a pointer is compared with address of another variable: 4
+XXX times a pointer is compared with another pointer: 14
+XXX times a pointer is qualified to be dereferenced: 7978
+
+XXX max dereference level: 6
+breakdown:
+ level: 0, occurrence: 0
+ level: 1, occurrence: 1190
+ level: 2, occurrence: 134
+ level: 3, occurrence: 79
+ level: 4, occurrence: 27
+ level: 5, occurrence: 11
+ level: 6, occurrence: 13
+XXX number of pointers point to pointers: 171
+XXX number of pointers point to scalars: 264
+XXX number of pointers point to structs: 0
+XXX percent of pointers has null in alias set: 25.5
+XXX average alias set size: 1.48
+
+XXX times a non-volatile is read: 1625
+XXX times a non-volatile is write: 810
+XXX times a volatile is read: 0
+XXX times read thru a pointer: 0
+XXX times a volatile is write: 0
+XXX times written thru a pointer: 0
+XXX times a volatile is available for access: 0
+XXX percentage of non-volatile access: 100
+
+XXX forward jumps: 1
+XXX backward jumps: 5
+
+XXX stmts: 92
+XXX max block depth: 5
+breakdown:
+ depth: 0, occurrence: 28
+ depth: 1, occurrence: 11
+ depth: 2, occurrence: 6
+ depth: 3, occurrence: 9
+ depth: 4, occurrence: 16
+ depth: 5, occurrence: 22
+
+XXX percentage a fresh-made variable is used: 15.8
+XXX percentage an existing variable is used: 84.2
+********************* end of statistics **********************/
+
diff --git a/tests/fuzz/20.cpp.txt b/tests/fuzz/20.cpp.txt
new file mode 100644
index 00000000..3bff09b8
--- /dev/null
+++ b/tests/fuzz/20.cpp.txt
@@ -0,0 +1 @@
+checksum = D5BDABA9
diff --git a/tests/fuzz/21.c b/tests/fuzz/21.c
new file mode 100644
index 00000000..28720f01
--- /dev/null
+++ b/tests/fuzz/21.c
@@ -0,0 +1,2332 @@
+/*
+ * This is a RANDOMLY GENERATED PROGRAM.
+ *
+ * Generator: csmith 2.2.0
+ * Git version: bf42ffd
+ * Options: --no-volatiles --no-packed-struct
+ * Seed: 642934944
+ */
+
+#include "csmith.h"
+
+
+static long __undefined;
+
+/* --- Struct/Union Declarations --- */
+union U0 {
+ int8_t f0;
+ int8_t f1;
+ int16_t f2;
+ int8_t f3;
+};
+
+/* --- GLOBAL VARIABLES --- */
+static int32_t g_4[5] = {0x21DED680L,0x21DED680L,0x21DED680L,0x21DED680L,0x21DED680L};
+static int32_t g_20 = 0L;
+static int32_t g_67[7] = {2L,2L,2L,2L,2L,2L,2L};
+static int32_t g_75[3] = {2L,2L,2L};
+static uint16_t g_78 = 0x7081L;
+static int64_t g_91 = 0xAECDC9E869F92A77LL;
+static int64_t g_128[2][4][3] = {{{4L,(-7L),4L},{4L,0x14A00EA68498C81BLL,(-7L)},{0x14A00EA68498C81BLL,4L,4L},{(-7L),4L,0L}},{{(-1L),0x14A00EA68498C81BLL,1L},{(-7L),(-7L),1L},{0x14A00EA68498C81BLL,(-1L),0L},{4L,(-7L),4L}}};
+static int64_t *g_127 = &g_128[0][3][1];
+static uint8_t g_130 = 8UL;
+static uint64_t g_132 = 18446744073709551615UL;
+static uint64_t g_133 = 1UL;
+static int32_t g_135 = 1L;
+static int32_t g_146 = 0x0234A52FL;
+static uint32_t g_147 = 0x4143BCCAL;
+static uint32_t g_159 = 0x38252909L;
+static uint16_t g_177 = 1UL;
+static uint8_t g_183 = 0xB9L;
+static uint32_t g_204 = 6UL;
+static uint8_t g_206 = 0UL;
+static union U0 g_209 = {0xF0L};
+static int64_t g_253 = 0xFB460BE9092F00DDLL;
+static uint32_t g_254 = 0xA3D898C3L;
+static uint32_t g_258[8] = {18446744073709551615UL,0x8629A8D4L,18446744073709551615UL,0x8629A8D4L,18446744073709551615UL,0x8629A8D4L,18446744073709551615UL,0x8629A8D4L};
+static const int32_t *g_268 = &g_4[3];
+static const int32_t **g_267 = &g_268;
+static const uint16_t g_274 = 0xF497L;
+static int64_t **g_277[1] = {&g_127};
+static int64_t ***g_276 = &g_277[0];
+static uint64_t *g_333[8][2] = {{&g_133,&g_132},{&g_133,&g_132},{&g_133,&g_133},{(void*)0,(void*)0},{(void*)0,&g_133},{&g_133,&g_132},{&g_133,&g_132},{&g_133,&g_133}};
+static uint16_t g_380 = 0x0529L;
+static int16_t g_383 = 1L;
+static int16_t g_384 = 0xD1D2L;
+static int16_t g_408 = 0x2866L;
+static uint16_t g_409[1][4] = {{0xA1F1L,0xA1F1L,0xA1F1L,0xA1F1L}};
+static uint8_t *g_442 = (void*)0;
+static uint8_t **g_441 = &g_442;
+static union U0 g_458 = {0x3BL};
+static union U0 *g_457 = &g_458;
+static int32_t g_471 = 0L;
+static uint16_t g_578 = 0UL;
+static uint64_t g_629 = 0UL;
+static uint16_t *g_643 = &g_177;
+static uint16_t **g_642 = &g_643;
+static uint32_t *g_648 = &g_258[5];
+static uint32_t **g_647[9][8] = {{(void*)0,(void*)0,&g_648,(void*)0,(void*)0,&g_648,&g_648,&g_648},{(void*)0,&g_648,(void*)0,&g_648,&g_648,(void*)0,&g_648,(void*)0},{&g_648,&g_648,(void*)0,&g_648,&g_648,(void*)0,&g_648,&g_648},{&g_648,&g_648,&g_648,&g_648,&g_648,(void*)0,(void*)0,(void*)0},{(void*)0,&g_648,&g_648,&g_648,&g_648,(void*)0,&g_648,&g_648},{(void*)0,&g_648,(void*)0,&g_648,&g_648,&g_648,(void*)0,&g_648},{&g_648,(void*)0,(void*)0,&g_648,&g_648,&g_648,&g_648,&g_648},{&g_648,&g_648,&g_648,&g_648,&g_648,&g_648,&g_648,(void*)0},{(void*)0,&g_648,(void*)0,&g_648,(void*)0,&g_648,(void*)0,&g_648}};
+static int8_t g_708 = (-6L);
+static int64_t g_746 = 0xB223B77F3AA8293ALL;
+static int64_t g_778 = 0x798751D9133BB1D3LL;
+static uint64_t ** const g_856 = &g_333[7][0];
+static uint64_t ** const *g_855 = &g_856;
+static uint16_t g_888 = 0x8340L;
+static uint8_t *g_983 = &g_130;
+static int32_t *g_1000 = &g_20;
+static int32_t **g_999 = &g_1000;
+static int64_t g_1086 = 8L;
+static int32_t ***g_1175 = &g_999;
+static const union U0 ***g_1185 = (void*)0;
+static int8_t g_1326 = 0x8EL;
+static int64_t **g_1334 = (void*)0;
+static const int64_t g_1337 = 0L;
+static int8_t g_1413 = (-3L);
+static uint64_t **g_1569[9] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
+static uint64_t ***g_1568[5][3] = {{&g_1569[6],&g_1569[6],&g_1569[5]},{&g_1569[5],&g_1569[2],&g_1569[6]},{&g_1569[1],&g_1569[6],&g_1569[1]},{&g_1569[1],&g_1569[5],&g_1569[6]},{&g_1569[5],&g_1569[1],&g_1569[1]}};
+static uint64_t ****g_1567 = &g_1568[4][0];
+static uint16_t * const *g_1574 = &g_643;
+static uint16_t * const **g_1573[3] = {&g_1574,&g_1574,&g_1574};
+static uint64_t g_1585 = 0x597575CF89740C88LL;
+static const int8_t g_1622 = 8L;
+static int32_t g_1679 = (-2L);
+static uint32_t *g_1701 = &g_254;
+static uint32_t **g_1700 = &g_1701;
+static int32_t *g_1707 = (void*)0;
+static const int16_t *g_1739 = &g_384;
+static const int16_t ** const g_1738[3][1][7] = {{{&g_1739,&g_1739,&g_1739,&g_1739,(void*)0,&g_1739,&g_1739}},{{&g_1739,&g_1739,&g_1739,&g_1739,&g_1739,&g_1739,&g_1739}},{{&g_1739,&g_1739,(void*)0,&g_1739,&g_1739,&g_1739,&g_1739}}};
+static const int16_t **g_1744 = &g_1739;
+static uint32_t g_1860 = 0x5534D26BL;
+static uint32_t ***g_1926[3] = {(void*)0,(void*)0,(void*)0};
+static int32_t g_1962 = (-2L);
+static int32_t g_2033[10] = {0x3E7186E9L,0x3E7186E9L,0x3E7186E9L,0x3E7186E9L,0x3E7186E9L,0x3E7186E9L,0x3E7186E9L,0x3E7186E9L,0x3E7186E9L,0x3E7186E9L};
+static uint32_t ** const ***g_2089 = (void*)0;
+static union U0 g_2193 = {0xBDL};
+static int16_t **g_2230 = (void*)0;
+static int64_t g_2307 = 0L;
+static uint32_t g_2497 = 0xD94C2BE8L;
+static int32_t g_2508 = 0xB8F83451L;
+static int32_t * const *g_2622 = &g_1000;
+static int32_t * const **g_2621 = &g_2622;
+static int32_t * const ***g_2620 = &g_2621;
+static const uint16_t *g_2632 = &g_380;
+static const uint16_t **g_2631 = &g_2632;
+static const uint16_t ***g_2630[9] = {&g_2631,&g_2631,&g_2631,&g_2631,&g_2631,&g_2631,&g_2631,&g_2631,&g_2631};
+static uint32_t g_2648 = 0x9D64EF08L;
+static int32_t g_2767 = 0x9B96E27FL;
+static uint64_t g_2797 = 18446744073709551615UL;
+static uint64_t g_2866 = 0x116C815868EB1DEBLL;
+static uint32_t g_2895 = 8UL;
+static int32_t ****g_2978 = &g_1175;
+static uint16_t *** const *g_2981 = (void*)0;
+static uint16_t *** const ** const g_2980 = &g_2981;
+static uint16_t **g_3116 = &g_643;
+static uint8_t g_3176[4] = {251UL,251UL,251UL,251UL};
+static int8_t g_3254 = 0xDDL;
+static int64_t g_3261 = 8L;
+static uint32_t ***g_3310 = &g_647[5][0];
+static uint32_t ***g_3311 = &g_647[5][0];
+static uint32_t g_3322[7] = {0x55EF5714L,0x55EF5714L,0x55EF5714L,0x55EF5714L,0x55EF5714L,0x55EF5714L,0x55EF5714L};
+static int8_t *g_3328 = (void*)0;
+static uint16_t g_3340 = 0x2720L;
+static const uint16_t **** const g_3349 = &g_2630[4];
+static const uint16_t **** const *g_3348 = &g_3349;
+static int32_t g_3407 = 0xDAD5159FL;
+static uint32_t g_3485 = 0xEE071645L;
+static int32_t g_3515 = 0xC406C7B2L;
+static int32_t g_3578 = 8L;
+static int16_t **** const g_3593 = (void*)0;
+static uint32_t ****g_3601 = &g_1926[2];
+static uint32_t *****g_3600[7][3][8] = {{{&g_3601,&g_3601,(void*)0,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601},{&g_3601,(void*)0,&g_3601,&g_3601,&g_3601,&g_3601,(void*)0,(void*)0},{&g_3601,(void*)0,&g_3601,(void*)0,&g_3601,(void*)0,(void*)0,&g_3601}},{{&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601},{&g_3601,&g_3601,&g_3601,(void*)0,&g_3601,&g_3601,&g_3601,(void*)0},{(void*)0,&g_3601,(void*)0,&g_3601,(void*)0,&g_3601,&g_3601,&g_3601}},{{&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,(void*)0,&g_3601,&g_3601},{&g_3601,(void*)0,&g_3601,&g_3601,(void*)0,(void*)0,&g_3601,&g_3601},{(void*)0,&g_3601,(void*)0,(void*)0,&g_3601,&g_3601,&g_3601,(void*)0}},{{(void*)0,(void*)0,(void*)0,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601},{&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601},{&g_3601,&g_3601,&g_3601,&g_3601,(void*)0,(void*)0,&g_3601,&g_3601}},{{&g_3601,&g_3601,(void*)0,&g_3601,(void*)0,&g_3601,(void*)0,&g_3601},{&g_3601,&g_3601,&g_3601,(void*)0,&g_3601,(void*)0,&g_3601,&g_3601},{&g_3601,&g_3601,&g_3601,(void*)0,&g_3601,&g_3601,&g_3601,&g_3601}},{{(void*)0,(void*)0,&g_3601,(void*)0,&g_3601,&g_3601,(void*)0,&g_3601},{&g_3601,&g_3601,(void*)0,&g_3601,&g_3601,(void*)0,&g_3601,&g_3601},{&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601}},{{&g_3601,&g_3601,&g_3601,&g_3601,&g_3601,(void*)0,&g_3601,&g_3601},{&g_3601,&g_3601,(void*)0,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601},{&g_3601,&g_3601,(void*)0,&g_3601,&g_3601,&g_3601,&g_3601,&g_3601}}};
+static int16_t *g_3706 = (void*)0;
+static int16_t **g_3705 = &g_3706;
+static const uint32_t *g_3714 = &g_1860;
+static const uint32_t **g_3713[3] = {&g_3714,&g_3714,&g_3714};
+static uint64_t *****g_3772 = &g_1567;
+static uint64_t ******g_3771 = &g_3772;
+static uint32_t g_3815 = 18446744073709551615UL;
+static const uint32_t g_3847 = 4294967293UL;
+static int16_t g_3879 = 0x5935L;
+static int32_t g_3880 = 0x2FDB7342L;
+static int64_t * const g_3913 = &g_253;
+
+
+/* --- FORWARD DECLARATIONS --- */
+static int16_t func_1(void);
+static int32_t * func_13(uint8_t p_14);
+static uint64_t func_34(int32_t p_35, uint64_t p_36, int8_t p_37, int32_t * p_38);
+static union U0 func_48(int32_t * p_49, int32_t p_50);
+static int32_t * func_51(int8_t p_52, uint16_t p_53, uint16_t p_54, int32_t * p_55, int32_t * p_56);
+static int32_t * func_57(int32_t * p_58, const int32_t * p_59, int32_t * p_60, int32_t p_61, int32_t * p_62);
+static int32_t * func_63(uint32_t p_64, int32_t * p_65);
+static int32_t func_68(int32_t p_69, uint32_t p_70, int8_t p_71, int16_t p_72, int64_t p_73);
+static union U0 func_97(const int32_t * p_98);
+static const int32_t * func_99(uint16_t p_100, int16_t p_101, union U0 p_102, int64_t * const p_103, int64_t * p_104);
+
+
+/* --- FUNCTIONS --- */
+/* ------------------------------------------ */
+/*
+ * reads : g_4 g_999 g_1000 g_1175 g_983 g_130 g_457 g_458 g_642 g_1744 g_1739 g_384 g_578 g_2621 g_2622 g_20 g_276 g_277 g_2620 g_2797 g_1700 g_1701 g_254 g_253 g_127 g_128 g_2497 g_1574 g_643 g_177 g_146 g_2631 g_2632 g_380 g_648 g_258 g_274 g_268 g_209.f1 g_133 g_458.f1 g_3261 g_629 g_458.f3 g_2033 g_3322 g_132 g_3340 g_2895 g_3348 g_888 g_2193.f1 g_441 g_442 g_267 g_746 g_3116 g_408 g_471 g_209 g_3485 g_75 g_2978 g_2980 g_2981 g_3349 g_1738 g_147 g_78 g_458.f2 g_1679 g_91 g_159 g_135 g_67 g_183 g_206 g_204 g_209.f0 g_209.f3 g_856 g_333 g_458.f0 g_3593 g_778 g_3176 g_3578 g_1337 g_2630 g_409 g_1086 g_3713 g_3771 g_3714 g_1860 g_1567 g_1568 g_1185 g_3515 g_3815 g_3847 g_3310 g_647 g_3879 g_3772 g_3913 g_3407
+ * writes: g_4 g_20 g_1000 g_643 g_277 g_2797 g_3176 g_146 g_254 g_177 g_128 g_2193.f1 g_209.f1 g_130 g_133 g_629 g_458.f3 g_441 g_3328 g_132 g_3340 g_2895 g_3348 g_888 g_268 g_457 g_75 g_408 g_3485 g_1744 g_458.f2 g_1567 g_1679 g_127 g_147 g_159 g_183 g_135 g_204 g_206 g_258 g_267 g_333 g_3515 g_3600 g_209 g_3578 g_384 g_1086 g_3705 g_3713 g_1568 g_91 g_3879 g_3407 g_3254 g_458
+ */
+static int16_t func_1(void)
+{ /* block id: 0 */
+ uint32_t l_2 = 4294967295UL;
+ int32_t l_5 = 0x8A527335L;
+ int32_t l_6 = 0x11BC383CL;
+ int32_t l_7 = 0x79041289L;
+ uint16_t ** const *l_3150 = &g_642;
+ int8_t *l_3158 = &g_2193.f1;
+ union U0 *l_3298 = &g_209;
+ uint32_t ***l_3308 = &g_647[7][6];
+ uint32_t **l_3346[6][8] = {{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701}};
+ int32_t l_3362 = 0x16A6D5DAL;
+ int32_t l_3363 = 0L;
+ int32_t l_3368 = 1L;
+ int32_t l_3369 = (-1L);
+ int32_t l_3370 = 0x7D45392EL;
+ int32_t l_3371 = (-10L);
+ int64_t l_3374 = 0L;
+ uint64_t l_3375 = 0x3D38361B79A4DC58LL;
+ uint64_t *****l_3385 = &g_1567;
+ uint16_t l_3419[4];
+ int8_t l_3446[6] = {2L,2L,2L,2L,2L,2L};
+ uint32_t l_3495 = 18446744073709551615UL;
+ const union U0 *l_3532 = &g_458;
+ const union U0 **l_3531 = &l_3532;
+ const union U0 ***l_3530 = &l_3531;
+ int8_t l_3544 = 0L;
+ uint8_t l_3580 = 255UL;
+ int16_t * const l_3597 = &g_384;
+ int16_t * const *l_3596 = &l_3597;
+ int16_t * const **l_3595 = &l_3596;
+ uint64_t l_3656 = 0x5FE4D132F8BD5F31LL;
+ int16_t l_3664 = 0xE475L;
+ int16_t *l_3704 = &g_384;
+ int16_t **l_3703 = &l_3704;
+ int32_t l_3735 = 0x57B5ED23L;
+ int32_t l_3736 = 0xEE9E89C4L;
+ const uint32_t ***l_3825[2][1];
+ uint8_t l_3908 = 5UL;
+ uint64_t **** const *l_3909[6];
+ int32_t l_3912[4];
+ int32_t l_3944 = 0x194E005FL;
+ uint32_t l_3950 = 0UL;
+ uint32_t ******l_3989 = &g_3600[3][1][4];
+ uint16_t l_4017 = 0x3BADL;
+ int i, j;
+ for (i = 0; i < 4; i++)
+ l_3419[i] = 0x9737L;
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 1; j++)
+ l_3825[i][j] = &g_3713[1];
+ }
+ for (i = 0; i < 6; i++)
+ l_3909[i] = &g_1567;
+ for (i = 0; i < 4; i++)
+ l_3912[i] = (-2L);
+ if ((l_2 & 0x3E90A624CDB8FAAALL))
+ { /* block id: 1 */
+ int32_t *l_3[8][10][2];
+ uint16_t l_8[9] = {0x26AFL,0x26AFL,0x26AFL,0x26AFL,0x26AFL,0x26AFL,0x26AFL,0x26AFL,0x26AFL};
+ uint32_t ** const *l_3144[9][2][5] = {{{&g_1700,&g_1700,&g_1700,&g_1700,&g_1700},{&g_1700,&g_1700,&g_1700,&g_1700,&g_1700}},{{&g_1700,&g_1700,&g_1700,&g_1700,&g_1700},{&g_1700,&g_1700,&g_1700,&g_1700,(void*)0}},{{&g_1700,(void*)0,&g_1700,&g_1700,&g_1700},{&g_1700,(void*)0,&g_1700,&g_1700,&g_1700}},{{&g_1700,(void*)0,&g_1700,(void*)0,(void*)0},{&g_1700,(void*)0,&g_1700,&g_1700,&g_1700}},{{&g_1700,&g_1700,&g_1700,&g_1700,(void*)0},{&g_1700,&g_1700,&g_1700,&g_1700,&g_1700}},{{&g_1700,&g_1700,&g_1700,(void*)0,&g_1700},{&g_1700,&g_1700,&g_1700,(void*)0,(void*)0}},{{&g_1700,&g_1700,&g_1700,(void*)0,&g_1700},{&g_1700,&g_1700,&g_1700,(void*)0,&g_1700}},{{&g_1700,(void*)0,&g_1700,(void*)0,&g_1700},{&g_1700,&g_1700,&g_1700,(void*)0,&g_1700}},{{&g_1700,&g_1700,&g_1700,&g_1700,&g_1700},{&g_1700,&g_1700,&g_1700,&g_1700,&g_1700}}};
+ uint32_t ** const **l_3143 = &l_3144[0][0][3];
+ uint32_t ** const ***l_3142 = &l_3143;
+ union U0 l_3228 = {0x13L};
+ uint64_t *l_3240 = &g_133;
+ uint32_t * const *l_3315 = &g_648;
+ uint32_t * const * const *l_3314 = &l_3315;
+ int32_t l_3388 = 1L;
+ uint64_t *****l_3389 = &g_1567;
+ uint8_t *l_3426 = (void*)0;
+ union U0 *l_3438 = &l_3228;
+ uint64_t l_3523 = 0x5F8208EF81CF263DLL;
+ union U0 **l_3534[7] = {&g_457,&g_457,&g_457,&g_457,&g_457,&g_457,&g_457};
+ union U0 ***l_3533 = &l_3534[5];
+ int16_t *l_3542[5];
+ int16_t l_3554 = 3L;
+ int8_t l_3590[9] = {(-8L),(-8L),(-8L),(-8L),(-8L),(-8L),(-8L),(-8L),(-8L)};
+ uint32_t *****l_3598 = (void*)0;
+ int64_t l_3625 = 9L;
+ uint16_t l_3626 = 65535UL;
+ uint32_t *l_3659 = &g_258[6];
+ int32_t l_3790[2][8] = {{0xFAB70EA6L,0L,0x05281176L,0L,0xFAB70EA6L,0xFAB70EA6L,0L,0x05281176L},{0xFAB70EA6L,0xFAB70EA6L,0L,0x05281176L,0L,0xFAB70EA6L,0xFAB70EA6L,0L}};
+ uint64_t l_3812 = 3UL;
+ uint64_t l_3814 = 18446744073709551608UL;
+ uint16_t **l_3827[3];
+ uint64_t l_3829 = 18446744073709551615UL;
+ uint32_t l_3846 = 1UL;
+ uint16_t *****l_3857 = (void*)0;
+ const uint16_t ****l_3859 = &g_2630[5];
+ const uint16_t *****l_3858 = &l_3859;
+ int i, j, k;
+ for (i = 0; i < 8; i++)
+ {
+ for (j = 0; j < 10; j++)
+ {
+ for (k = 0; k < 2; k++)
+ l_3[i][j][k] = &g_4[3];
+ }
+ }
+ for (i = 0; i < 5; i++)
+ l_3542[i] = &g_383;
+ for (i = 0; i < 3; i++)
+ l_3827[i] = &g_643;
+lbl_3151:
+ l_8[1]++;
+ for (l_6 = (-2); (l_6 > 15); l_6 = safe_add_func_uint8_t_u_u(l_6, 6))
+ { /* block id: 5 */
+ uint64_t l_3138 = 0x57C7955DEB977126LL;
+ union U0 **l_3154 = &g_457;
+ const int64_t *l_3156 = &g_128[1][0][1];
+ const int64_t **l_3155[2][2][6] = {{{&l_3156,&l_3156,&l_3156,&l_3156,&l_3156,&l_3156},{&l_3156,&l_3156,&l_3156,&l_3156,&l_3156,&l_3156}},{{&l_3156,&l_3156,&l_3156,&l_3156,&l_3156,&l_3156},{&l_3156,&l_3156,&l_3156,&l_3156,&l_3156,&l_3156}}};
+ const int64_t ***l_3157 = &l_3155[0][1][3];
+ uint16_t l_3165[8] = {1UL,1UL,1UL,1UL,1UL,1UL,1UL,1UL};
+ int i, j, k;
+ for (l_7 = 8; (l_7 >= 1); l_7 -= 1)
+ { /* block id: 8 */
+ uint32_t l_3141 = 18446744073709551615UL;
+ uint32_t * const ***l_3146 = (void*)0;
+ uint32_t * const *** const *l_3145 = &l_3146;
+ union U0 **l_3147 = &g_457;
+ int i;
+ g_4[3] |= l_8[l_7];
+ (**g_1175) = func_13(g_4[2]);
+ if (l_8[l_7])
+ { /* block id: 1459 */
+ uint16_t *l_3133 = &l_8[8];
+ uint16_t *l_3139 = &l_8[l_7];
+ int32_t l_3140 = 0xF695A281L;
+ uint16_t ***l_3149 = &g_3116;
+ uint16_t ****l_3148 = &l_3149;
+ (***g_2621) &= (safe_mod_func_uint8_t_u_u((((*l_3148) = ((((((safe_mod_func_int16_t_s_s((((safe_rshift_func_int8_t_s_u((((((safe_lshift_func_uint8_t_u_u((*g_983), (safe_rshift_func_uint16_t_u_u(l_8[l_7], (((*g_457) , ((((safe_rshift_func_int8_t_s_u(((((*g_642) = l_3133) != (((safe_mul_func_uint8_t_u_u(0x6AL, 0xD8L)) || (safe_rshift_func_uint16_t_u_s(l_3138, (**g_1744)))) , l_3139)) < 0xC0D6B72D1B8F337DLL), 1)) , l_3140) > 0L) & g_578)) >= l_3138))))) ^ l_3141) < (*g_983)) , l_3142) != l_3145), (*g_983))) > l_6) , (**g_1744)), l_6)) ^ l_3140) , (**g_1744)) , l_3147) != (void*)0) , &g_3116)) == l_3150), 0x4FL));
+ }
+ else
+ { /* block id: 1463 */
+ (**g_999) ^= l_7;
+ if (l_7)
+ goto lbl_3151;
+ }
+ }
+ (****g_2620) = (safe_rshift_func_int16_t_s_s((((((void*)0 != l_3154) , ((*g_276) = (*g_276))) == ((*l_3157) = l_3155[0][1][3])) < (l_3158 == (void*)0)), 0));
+ for (g_2797 = 0; (g_2797 >= 54); ++g_2797)
+ { /* block id: 1473 */
+ int32_t l_3166[8][8][3] = {{{0x36A42BD7L,0x08DAE5F5L,0L},{0x3FB3DE0AL,0xDD914932L,(-5L)},{7L,7L,0xD3200B0DL},{1L,(-5L),0xB59C95F6L},{9L,7L,(-5L)},{0xDD914932L,0xC624916FL,0x3FB3DE0AL},{0x36A42BD7L,9L,(-5L)},{0x97CD9E59L,0xB59C95F6L,0xB59C95F6L}},{{0L,(-1L),0x08DAE5F5L},{0L,0x08DAE5F5L,0x36A42BD7L},{0x97CD9E59L,1L,0x7D66C06FL},{0x36A42BD7L,0xDD914932L,7L},{0xDD914932L,1L,0x63FDB9F2L},{9L,0x08DAE5F5L,9L},{1L,(-1L),9L},{(-5L),0xB59C95F6L,0x63FDB9F2L}},{{0x63FDB9F2L,9L,7L},{(-1L),0xC624916FL,0x7D66C06FL},{0x63FDB9F2L,7L,0x36A42BD7L},{(-5L),(-5L),0x08DAE5F5L},{1L,(-5L),0xB59C95F6L},{9L,7L,(-5L)},{0xDD914932L,0xC624916FL,0x3FB3DE0AL},{0x36A42BD7L,9L,(-5L)}},{{0x97CD9E59L,0xB59C95F6L,0xB59C95F6L},{0L,(-1L),0x08DAE5F5L},{0L,0x08DAE5F5L,0x36A42BD7L},{0x97CD9E59L,1L,0x7D66C06FL},{0x36A42BD7L,0xDD914932L,7L},{0xDD914932L,1L,0x63FDB9F2L},{9L,0x08DAE5F5L,9L},{1L,(-1L),9L}},{{(-5L),0xB59C95F6L,0x63FDB9F2L},{0x63FDB9F2L,9L,7L},{(-1L),0xC624916FL,0x7D66C06FL},{0x63FDB9F2L,7L,0x36A42BD7L},{(-5L),(-5L),0x08DAE5F5L},{1L,(-5L),0xB59C95F6L},{9L,7L,(-5L)},{0xDD914932L,0xC624916FL,0x3FB3DE0AL}},{{0x36A42BD7L,9L,(-5L)},{0x97CD9E59L,0xB59C95F6L,0xB59C95F6L},{0L,(-1L),0x08DAE5F5L},{0L,0x08DAE5F5L,0x36A42BD7L},{0x97CD9E59L,1L,0x7D66C06FL},{0x36A42BD7L,0xDD914932L,7L},{0xDD914932L,1L,0x63FDB9F2L},{9L,0x08DAE5F5L,9L}},{{1L,(-1L),9L},{(-5L),0xB59C95F6L,0x63FDB9F2L},{0x63FDB9F2L,9L,7L},{(-1L),0xC624916FL,0x7D66C06FL},{0x63FDB9F2L,7L,0x36A42BD7L},{(-5L),(-5L),0x08DAE5F5L},{1L,(-5L),0xB59C95F6L},{9L,7L,(-5L)}},{{0xDD914932L,0xC624916FL,0x3FB3DE0AL},{0x36A42BD7L,9L,(-5L)},{0x97CD9E59L,0xB59C95F6L,0xB59C95F6L},{0L,(-1L),0x08DAE5F5L},{0L,0x08DAE5F5L,0x36A42BD7L},{0x97CD9E59L,1L,0x7D66C06FL},{0x36A42BD7L,0xDD914932L,7L},{0xDD914932L,1L,0x63FDB9F2L}}};
+ union U0 *l_3167 = (void*)0;
+ uint32_t l_3175[10];
+ int i, j, k;
+ for (i = 0; i < 10; i++)
+ l_3175[i] = 0UL;
+ g_3176[0] = (((safe_div_func_int32_t_s_s(l_2, ((**g_999) , (safe_mul_func_int8_t_s_s((l_3165[1] != (l_3166[1][2][2] < (((l_3165[5] , (void*)0) != l_3167) >= ((safe_mod_func_uint16_t_u_u((safe_unary_minus_func_int32_t_s(((*g_983) , ((***g_2621) |= (safe_div_func_int32_t_s_s(((safe_add_func_uint32_t_u_u(((*g_983) > 0UL), (**g_1700))) >= 4UL), 1UL)))))), l_3165[1])) && 0x27EDL)))), g_253))))) , 0xCDD9L) && l_3175[6]);
+ }
+ }
+ if ((***g_2621))
+ { /* block id: 1478 */
+ uint32_t **l_3185 = &g_1701;
+ int32_t l_3186 = 0xDDB13C5AL;
+ uint64_t *****l_3198 = &g_1567;
+ uint64_t ******l_3197 = &l_3198;
+ int32_t l_3229 = 0xCC934D37L;
+ uint32_t **l_3282 = &g_648;
+ uint64_t l_3352 = 18446744073709551615UL;
+ int32_t l_3408 = 1L;
+ int32_t l_3409 = 8L;
+ uint32_t l_3410 = 0UL;
+ int32_t l_3413 = 0x1B38E9A0L;
+ int64_t l_3414 = 1L;
+ int32_t l_3415 = 0L;
+ int32_t l_3416 = (-10L);
+ int32_t l_3417 = 0x826CAA3AL;
+ int32_t l_3418 = (-10L);
+ if (((((safe_add_func_uint8_t_u_u((safe_rshift_func_int8_t_s_s((((*g_457) , (***g_276)) ^ 0x90099C64A4CC214BLL), 4)), g_2497)) , l_3186) & 0xD30FF6655B03D0F7LL) < (**g_1574)))
+ { /* block id: 1480 */
+ uint32_t l_3187[3][8] = {{0x13CA3311L,5UL,0x6BA18EA5L,5UL,0x13CA3311L,0x13CA3311L,5UL,0x6BA18EA5L},{5UL,5UL,18446744073709551615UL,18446744073709551615UL,18446744073709551615UL,5UL,5UL,18446744073709551615UL},{0x6BA18EA5L,18446744073709551615UL,18446744073709551615UL,0x6BA18EA5L,0x13CA3311L,0x6BA18EA5L,18446744073709551615UL,18446744073709551615UL}};
+ int8_t l_3205 = 0x03L;
+ int16_t *l_3217 = &g_408;
+ int16_t * const l_3219 = (void*)0;
+ int32_t l_3230[4] = {(-8L),(-8L),(-8L),(-8L)};
+ uint8_t l_3231 = 0x75L;
+ int8_t l_3257[10][5][5] = {{{0L,0x77L,(-7L),0xFBL,0xFBL},{0L,3L,0L,(-4L),(-2L)},{0L,(-7L),1L,0x4AL,1L},{(-10L),0xB6L,(-4L),0x50L,(-1L)},{(-1L),0x33L,1L,1L,0xD2L}},{{0x0CL,0x18L,0L,(-1L),(-7L)},{(-1L),(-1L),(-7L),0x8FL,7L},{5L,0x0CL,0x2DL,5L,0x6AL},{1L,7L,0x56L,0x79L,0x1DL},{0x15L,0x9DL,(-1L),0x42L,0xE5L}},{{0xEDL,(-1L),0L,(-8L),1L},{0L,0x8CL,(-2L),(-2L),0x8CL},{0L,0L,0x05L,0x77L,0x3EL},{0L,(-1L),0L,0x2DL,(-4L)},{0xFBL,0x08L,0xE9L,6L,(-5L)}},{{0L,(-10L),0L,8L,0x81L},{0L,(-9L),0xEDL,0x3EL,(-1L)},{0L,0x93L,1L,0xB6L,5L},{0xEDL,0xEDL,0xF1L,0xD6L,(-9L)},{0x15L,(-1L),(-1L),0x8CL,3L}},{{1L,0x66L,0x24L,0x10L,0x56L},{5L,0x34L,0L,0xB1L,8L},{(-1L),(-5L),(-5L),(-1L),(-6L)},{0x0CL,0x50L,8L,0L,5L},{(-1L),6L,0x10L,1L,(-1L)}},{{(-10L),0x67L,0xE5L,0L,0x0FL},{0L,0x4AL,0xE8L,(-1L),(-1L)},{0L,(-1L),(-7L),0xB1L,0L},{0L,(-1L),1L,0x10L,0x8FL},{0xE5L,0x2DL,(-1L),0x8CL,0x67L}},{{(-8L),(-1L),0x33L,0xD6L,0L},{0x50L,0x6AL,0L,0xB6L,0x9DL},{(-1L),1L,0x66L,0x3EL,0x66L},{1L,1L,(-10L),8L,4L},{(-9L),(-7L),(-6L),(-9L),(-1L)}},{{0x93L,0x33L,0x12L,(-1L),1L},{(-1L),(-7L),0xEDL,1L,0x77L},{4L,0x0FL,0x50L,0x93L,0x0CL},{0xE9L,0x10L,0xD8L,0xF1L,0x8FL},{(-2L),(-1L),(-10L),0L,0L}},{{(-7L),1L,0x42L,7L,(-6L)},{(-10L),(-1L),0x13L,(-4L),0x67L},{0x04L,0xEDL,0x3EL,(-6L),7L},{0L,0x15L,0L,0x15L,0L},{0xD2L,(-6L),0xF1L,(-1L),0x3EL}},{{8L,0L,5L,(-7L),(-2L)},{0x77L,(-9L),(-1L),(-6L),0x3EL},{(-1L),(-7L),0L,(-1L),0L},{0x3EL,0x06L,0x77L,(-1L),7L},{(-1L),0x12L,(-1L),0x50L,0x67L}}};
+ const int64_t **l_3264 = (void*)0;
+ uint32_t **l_3281 = &g_648;
+ int i, j, k;
+ for (g_146 = 0; (g_146 <= 1); g_146 += 1)
+ { /* block id: 1483 */
+ uint32_t l_3192 = 1UL;
+ union U0 *l_3214[3];
+ int32_t l_3255 = (-1L);
+ int i;
+ for (i = 0; i < 3; i++)
+ l_3214[i] = &g_458;
+ ++l_3187[2][6];
+ if ((safe_sub_func_int64_t_s_s(((*g_127) = (!(l_3192 < ((((--(**g_1700)) | ((safe_div_func_int16_t_s_s((((void*)0 != l_3197) > (l_3186 & l_3186)), ((**g_642) = (safe_mul_func_int8_t_s_s((safe_sub_func_uint16_t_u_u(((**g_2631) , l_2), ((safe_mod_func_uint16_t_u_u(((*g_648) , 4UL), (**g_2631))) >= g_274))), 1UL))))) > 0x8E3D84382D7D5000LL)) ^ 0x34L) >= 0UL)))), l_3205)))
+ { /* block id: 1488 */
+ int8_t l_3213 = 0xEEL;
+ int16_t **l_3218 = &l_3217;
+ int32_t l_3232 = (-1L);
+ int32_t l_3233 = 1L;
+ if (l_3192)
+ break;
+ l_3232 &= ((safe_add_func_uint8_t_u_u((safe_div_func_int8_t_s_s((safe_rshift_func_uint16_t_u_s(((safe_unary_minus_func_uint16_t_u(((g_254 & l_3213) > ((void*)0 == l_3214[1])))) > (safe_mul_func_int8_t_s_s((((*l_3218) = l_3217) == l_3219), (safe_rshift_func_int8_t_s_s(((*l_3158) = ((safe_div_func_uint32_t_u_u(((safe_mod_func_int16_t_s_s(((l_3230[2] = ((safe_rshift_func_uint8_t_u_u((((l_3187[2][6] & (((l_3228 , (*g_457)) , 253UL) || l_3192)) != l_3229) & l_3192), 1)) != (***g_2621))) > l_3192), (**g_1744))) == (*g_268)), 0xFC91D86FL)) != l_3231)), l_7))))), (*g_1739))), 248UL)), 250UL)) < 255UL);
+ return l_3233;
+ }
+ else
+ { /* block id: 1495 */
+ (*g_999) = (**g_1175);
+ }
+ if (l_2)
+ continue;
+ for (g_209.f1 = 0; (g_209.f1 <= 1); g_209.f1 += 1)
+ { /* block id: 1501 */
+ uint8_t *l_3241[9][8][3] = {{{&l_3231,&l_3231,&l_3231},{&g_3176[3],(void*)0,&g_183},{&l_3231,(void*)0,&l_3231},{&g_183,&g_3176[3],&g_3176[3]},{&g_206,(void*)0,(void*)0},{&g_183,&g_183,&g_206},{&l_3231,&g_3176[0],&g_206},{&g_3176[3],&g_183,&g_3176[3]}},{{&l_3231,(void*)0,&g_3176[0]},{(void*)0,&g_3176[3],&g_3176[3]},{&g_3176[0],(void*)0,&g_206},{&g_183,(void*)0,&g_206},{&g_3176[0],&l_3231,(void*)0},{(void*)0,&g_183,&g_3176[3]},{&l_3231,&l_3231,&l_3231},{&g_3176[3],(void*)0,&g_183}},{{&l_3231,(void*)0,&l_3231},{&g_183,&g_3176[3],&g_3176[3]},{&g_206,(void*)0,(void*)0},{&g_183,&g_183,&g_206},{&l_3231,&g_3176[0],&g_206},{&g_3176[3],&g_183,&g_3176[3]},{&l_3231,(void*)0,&g_3176[0]},{(void*)0,&g_3176[3],&g_3176[3]}},{{&g_3176[0],(void*)0,&g_206},{&g_183,(void*)0,&g_206},{&g_3176[0],&l_3231,(void*)0},{(void*)0,&g_183,&g_3176[3]},{&l_3231,&l_3231,&l_3231},{&g_3176[3],(void*)0,&g_183},{&l_3231,(void*)0,&l_3231},{&g_183,&g_3176[3],&g_3176[3]}},{{&g_206,(void*)0,(void*)0},{&g_183,&g_183,&g_206},{&l_3231,&g_3176[0],&g_206},{&g_3176[3],&g_183,&g_3176[3]},{&l_3231,(void*)0,&g_3176[0]},{&g_3176[3],&g_183,&g_183},{&g_183,&g_3176[0],(void*)0},{&g_3176[3],&g_3176[3],&g_183}},{{&g_183,(void*)0,&g_3176[0]},{&g_3176[3],&g_3176[3],&g_206},{&g_206,(void*)0,&g_206},{&g_183,&g_3176[3],&g_206},{&l_3231,&g_3176[0],&g_206},{&g_206,&g_183,&g_206},{&g_206,(void*)0,&g_3176[0]},{&g_206,&g_206,&g_183}},{{&l_3231,(void*)0,(void*)0},{&g_183,&g_206,&g_183},{&g_206,(void*)0,&g_183},{&g_3176[3],&g_183,&g_183},{&g_183,&g_3176[0],(void*)0},{&g_3176[3],&g_3176[3],&g_183},{&g_183,(void*)0,&g_3176[0]},{&g_3176[3],&g_3176[3],&g_206}},{{&g_206,(void*)0,&g_206},{&g_183,&g_3176[3],&g_206},{&l_3231,&g_3176[0],&g_206},{&g_206,&g_183,&g_206},{&g_206,(void*)0,&g_3176[0]},{&g_206,&g_206,&g_183},{&l_3231,(void*)0,(void*)0},{&g_183,&g_206,&g_183}},{{&g_206,(void*)0,&g_183},{&g_3176[3],&g_183,&g_183},{&g_183,&g_3176[0],(void*)0},{&g_3176[3],&g_3176[3],&g_183},{&g_183,(void*)0,&g_3176[0]},{&g_3176[3],&g_3176[3],&g_206},{&g_206,(void*)0,&g_206},{&g_183,&g_3176[3],&g_206}}};
+ uint64_t l_3242[8] = {0xB6412F7D8489259FLL,1UL,1UL,0xB6412F7D8489259FLL,1UL,1UL,0xB6412F7D8489259FLL,1UL};
+ uint64_t l_3253 = 18446744073709551606UL;
+ int32_t l_3256 = 0x6AE19F0EL;
+ uint32_t l_3258 = 4294967295UL;
+ int i, j, k;
+ l_6 = (safe_mod_func_uint16_t_u_u((l_3230[2] , (safe_mul_func_int8_t_s_s(((safe_add_func_int8_t_s_s(((((*l_3240) |= (((0x9CL ^ ((void*)0 != l_3240)) >= (l_3242[0] = ((*g_983) &= l_3187[2][6]))) <= l_6)) > (((safe_rshift_func_int8_t_s_u((safe_rshift_func_uint8_t_u_s((((*g_127) = (safe_rshift_func_uint8_t_u_s(g_177, ((1L <= ((safe_mul_func_uint16_t_u_u((safe_add_func_uint32_t_u_u((**g_1700), (**g_1700))), (-5L))) & l_3192)) != l_7)))) == 0x94128C946CC5AD13LL), g_458.f1)), l_3186)) < 0xBBL) , (-1L))) >= 250UL), l_3253)) >= 1UL), l_3187[0][2]))), 65535UL));
+ l_3258++;
+ if (g_3261)
+ continue;
+ }
+ }
+ l_3[7][8][1] = ((*g_999) = &l_3230[0]);
+ for (g_629 = 0; (g_629 < 23); ++g_629)
+ { /* block id: 1515 */
+ uint32_t l_3271 = 1UL;
+ int32_t l_3274 = (-8L);
+ uint8_t l_3294[4][3][2] = {{{0x30L,0x30L},{0xECL,253UL},{0x6AL,9UL}},{{0UL,0xECL},{255UL,0UL},{5UL,0UL}},{{5UL,0UL},{255UL,0xECL},{0UL,9UL}},{{0x6AL,253UL},{0xECL,0x30L},{0x30L,0x30L}}};
+ uint32_t ****l_3309[2][8];
+ int i, j, k;
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 8; j++)
+ l_3309[i][j] = (void*)0;
+ }
+ }
+ }
+ else
+ { /* block id: 1537 */
+ uint64_t l_3321 = 0xDDE7A297B90E42B9LL;
+ int32_t l_3323 = 0L;
+ int8_t *l_3329 = (void*)0;
+ uint32_t l_3330[6][7][6] = {{{18446744073709551615UL,1UL,0xB6573154L,18446744073709551615UL,0xAB8E7E60L,0xD5EF4BC4L},{18446744073709551615UL,0xAB8E7E60L,0xD5EF4BC4L,1UL,1UL,0xD5EF4BC4L},{18446744073709551614UL,18446744073709551614UL,0xB6573154L,1UL,1UL,0x8128DDD9L},{1UL,0xAB8E7E60L,0x812AD54AL,1UL,0xAB8E7E60L,0xB6573154L},{18446744073709551614UL,1UL,0x812AD54AL,1UL,18446744073709551614UL,0x8128DDD9L},{18446744073709551615UL,1UL,0xB6573154L,18446744073709551615UL,0xAB8E7E60L,0xD5EF4BC4L},{18446744073709551615UL,0xAB8E7E60L,0xD5EF4BC4L,1UL,1UL,0xD5EF4BC4L}},{{18446744073709551614UL,18446744073709551614UL,0xB6573154L,1UL,1UL,0x8128DDD9L},{1UL,0xAB8E7E60L,0x812AD54AL,1UL,0xAB8E7E60L,0xB6573154L},{0xCE918E94L,0x8BF1BB38L,0xAB8E7E60L,0x8BF1BB38L,0xCE918E94L,1UL},{0UL,0x8BF1BB38L,18446744073709551615UL,0UL,0x269CFCD7L,1UL},{0UL,0x269CFCD7L,1UL,0x8BF1BB38L,0x8BF1BB38L,1UL},{0xCE918E94L,0xCE918E94L,18446744073709551615UL,0x991B26EDL,0x8BF1BB38L,1UL},{0x8BF1BB38L,0x269CFCD7L,0xAB8E7E60L,0x991B26EDL,0x269CFCD7L,18446744073709551615UL}},{{0xCE918E94L,0x8BF1BB38L,0xAB8E7E60L,0x8BF1BB38L,0xCE918E94L,1UL},{0UL,0x8BF1BB38L,18446744073709551615UL,0UL,0x269CFCD7L,1UL},{0UL,0x269CFCD7L,1UL,0x8BF1BB38L,0x8BF1BB38L,1UL},{0xCE918E94L,0xCE918E94L,18446744073709551615UL,0x991B26EDL,0x8BF1BB38L,1UL},{0x8BF1BB38L,0x269CFCD7L,0xAB8E7E60L,0x991B26EDL,0x269CFCD7L,18446744073709551615UL},{0xCE918E94L,0x8BF1BB38L,0xAB8E7E60L,0x8BF1BB38L,0xCE918E94L,1UL},{0UL,0x8BF1BB38L,18446744073709551615UL,0UL,0x269CFCD7L,1UL}},{{0UL,0x269CFCD7L,1UL,0x8BF1BB38L,0x8BF1BB38L,1UL},{0xCE918E94L,0xCE918E94L,18446744073709551615UL,0x991B26EDL,0x8BF1BB38L,1UL},{0x8BF1BB38L,0x269CFCD7L,0xAB8E7E60L,0x991B26EDL,0x269CFCD7L,18446744073709551615UL},{0xCE918E94L,0x8BF1BB38L,0xAB8E7E60L,0x8BF1BB38L,0xCE918E94L,1UL},{0UL,0x8BF1BB38L,18446744073709551615UL,0UL,0x269CFCD7L,1UL},{0UL,0x269CFCD7L,1UL,0x8BF1BB38L,0x8BF1BB38L,1UL},{0xCE918E94L,0xCE918E94L,18446744073709551615UL,0x991B26EDL,0x8BF1BB38L,1UL}},{{0x8BF1BB38L,0x269CFCD7L,0xAB8E7E60L,0x991B26EDL,0x269CFCD7L,18446744073709551615UL},{0xCE918E94L,0x8BF1BB38L,0xAB8E7E60L,0x8BF1BB38L,0xCE918E94L,1UL},{0UL,0x8BF1BB38L,18446744073709551615UL,0UL,0x269CFCD7L,1UL},{0UL,0x269CFCD7L,1UL,0x8BF1BB38L,0x8BF1BB38L,1UL},{0xCE918E94L,0xCE918E94L,18446744073709551615UL,0x991B26EDL,0x8BF1BB38L,1UL},{0x8BF1BB38L,0x269CFCD7L,0xAB8E7E60L,0x991B26EDL,0x269CFCD7L,18446744073709551615UL},{0xCE918E94L,0x8BF1BB38L,0xAB8E7E60L,0x8BF1BB38L,0xCE918E94L,1UL}},{{0UL,0x8BF1BB38L,18446744073709551615UL,0UL,0x269CFCD7L,1UL},{0UL,0x269CFCD7L,1UL,0x8BF1BB38L,0x8BF1BB38L,1UL},{0xCE918E94L,0xCE918E94L,18446744073709551615UL,0x991B26EDL,0x8BF1BB38L,1UL},{0x8BF1BB38L,0x269CFCD7L,0xAB8E7E60L,0x991B26EDL,0x269CFCD7L,18446744073709551615UL},{0xCE918E94L,0x8BF1BB38L,0xAB8E7E60L,0x8BF1BB38L,0xCE918E94L,1UL},{0UL,0x8BF1BB38L,18446744073709551615UL,0UL,0x269CFCD7L,0x991B26EDL},{0xE15135D8L,0xB6573154L,0x991B26EDL,0x812AD54AL,0x812AD54AL,0x991B26EDL}}};
+ int32_t l_3333[3];
+ uint32_t l_3335[8][1][9] = {{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}},{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}},{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}},{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}},{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}},{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}},{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}},{{0x30091A38L,0UL,0x30B5CAEFL,0xE11A6A21L,0xE11A6A21L,0x30B5CAEFL,0UL,0x30091A38L,0x30B5CAEFL}}};
+ int i, j, k;
+ for (i = 0; i < 3; i++)
+ l_3333[i] = 3L;
+lbl_3355:
+ for (g_458.f3 = 0; (g_458.f3 <= 9); g_458.f3 += 1)
+ { /* block id: 1540 */
+ uint8_t ***l_3320 = &g_441;
+ int i;
+ (*g_1000) |= (l_3323 = (safe_add_func_int8_t_s_s(g_2033[g_458.f3], ((((l_3229 ^= (safe_mod_func_int64_t_s_s((((*g_643) = ((*g_457) , (0x159FL != (((((*g_457) , (void*)0) == ((*l_3320) = &g_442)) <= (l_3321 < g_3322[2])) || g_2033[g_458.f3])))) <= l_5), l_7))) >= (-1L)) > l_3321) ^ l_2))));
+ return g_2033[g_458.f3];
+ }
+ if ((safe_lshift_func_uint16_t_u_s(((safe_rshift_func_uint8_t_u_u((((*g_983) = (*g_983)) < 0xDCL), g_629)) && ((g_3328 = &g_3254) == l_3329)), 4)))
+ { /* block id: 1550 */
+ int8_t l_3339 = 7L;
+ for (g_132 = 0; (g_132 <= 7); g_132 += 1)
+ { /* block id: 1553 */
+ int16_t l_3334 = (-2L);
+ int32_t l_3338[7] = {(-9L),(-9L),0xA9A03672L,(-9L),(-9L),0xA9A03672L,(-9L)};
+ int i;
+ l_3330[3][1][3]++;
+ l_3335[2][0][3]--;
+ g_3340++;
+ if (g_258[g_132])
+ break;
+ }
+ }
+ else
+ { /* block id: 1559 */
+ uint32_t **l_3345 = &g_1701;
+ for (g_2895 = 0; (g_2895 <= 9); g_2895 += 1)
+ { /* block id: 1562 */
+ uint32_t ***l_3347 = &l_3346[3][0];
+ const uint16_t **** const **l_3350 = &g_3348;
+ int32_t l_3351 = 3L;
+ int i;
+ (**g_2622) ^= (safe_mul_func_int8_t_s_s((((l_3345 == ((*l_3347) = (g_2033[g_2895] , l_3346[2][3]))) , ((*l_3350) = g_3348)) == &g_2981), g_2033[g_2895]));
+ l_3352--;
+ if (g_458.f3)
+ goto lbl_3355;
+ }
+ return l_3352;
+ }
+ }
+ for (l_3228.f0 = 26; (l_3228.f0 > (-21)); l_3228.f0--)
+ { /* block id: 1574 */
+ int64_t l_3358[10] = {0L,0L,0L,0L,0L,0L,0L,0L,0L,0L};
+ int32_t l_3359 = (-5L);
+ int32_t l_3360 = 1L;
+ int32_t l_3364 = (-1L);
+ int32_t l_3367 = 0xBCDBA61AL;
+ int32_t l_3372 = (-1L);
+ int32_t l_3373 = 0x8C5B084EL;
+ int i;
+ l_3358[7] = l_6;
+ for (g_146 = 2; (g_146 >= 0); g_146 -= 1)
+ { /* block id: 1578 */
+ int64_t l_3361 = 0x9285272348967190LL;
+ int16_t l_3365 = 0xD941L;
+ int32_t l_3366 = 1L;
+ uint32_t l_3382[4][5][9] = {{{1UL,18446744073709551614UL,1UL,18446744073709551615UL,18446744073709551613UL,0x2E5E3E5AL,18446744073709551607UL,0x71493D5FL,4UL},{18446744073709551611UL,0xE6880DAFL,2UL,0xDDD702C7L,0xA6C66844L,0xC0E85E58L,0xA6C66844L,0xDDD702C7L,2UL},{4UL,4UL,18446744073709551614UL,18446744073709551615UL,0x204CB92DL,1UL,2UL,1UL,6UL},{1UL,1UL,0xC0E85E58L,18446744073709551615UL,18446744073709551606UL,18446744073709551606UL,18446744073709551615UL,0xC0E85E58L,1UL},{18446744073709551615UL,18446744073709551606UL,18446744073709551614UL,0x57A19FA0L,0UL,18446744073709551615UL,4UL,2UL,18446744073709551613UL}},{{0xDDD702C7L,1UL,2UL,1UL,18446744073709551615UL,1UL,2UL,1UL,0xDDD702C7L},{0UL,18446744073709551606UL,1UL,0xD37B812EL,4UL,18446744073709551607UL,6UL,18446744073709551614UL,0x2E5E3E5AL},{0x17F27A6EL,1UL,0x5030D5BFL,0xC0E85E58L,0xC0E85E58L,0x5030D5BFL,1UL,0x17F27A6EL,0xC51F3F36L},{0UL,4UL,6UL,0x204CB92DL,0x71493D5FL,18446744073709551615UL,18446744073709551613UL,0xD37B812EL,0xD37B812EL},{0xDDD702C7L,0xE6880DAFL,18446744073709551615UL,0x17F27A6EL,18446744073709551615UL,0xE6880DAFL,0xDDD702C7L,18446744073709551606UL,0xC51F3F36L}},{{18446744073709551615UL,18446744073709551614UL,1UL,18446744073709551606UL,4UL,0x204CB92DL,0xD37B812EL,1UL,0xD37B812EL},{18446744073709551615UL,0xA6C66844L,0xE6880DAFL,0xE6880DAFL,0xA6C66844L,18446744073709551615UL,18446744073709551606UL,0x5030D5BFL,0x17F27A6EL},{1UL,2UL,1UL,0x204CB92DL,18446744073709551615UL,18446744073709551614UL,4UL,4UL,18446744073709551614UL},{0xE6880DAFL,18446744073709551615UL,0x17F27A6EL,18446744073709551615UL,0xE6880DAFL,0xDDD702C7L,18446744073709551606UL,0xC51F3F36L,1UL},{18446744073709551613UL,4UL,1UL,0x2E5E3E5AL,2UL,18446744073709551607UL,0xD37B812EL,18446744073709551607UL,2UL}},{{18446744073709551606UL,2UL,2UL,18446744073709551606UL,0x4809426DL,0xDDD702C7L,0x17F27A6EL,18446744073709551615UL,0xC0E85E58L},{18446744073709551615UL,6UL,0UL,1UL,0x71493D5FL,18446744073709551614UL,18446744073709551614UL,0x71493D5FL,1UL},{0x616EDC88L,1UL,0x616EDC88L,0x3258CFFDL,0x4809426DL,18446744073709551615UL,1UL,18446744073709551611UL,0xDDD702C7L},{1UL,18446744073709551613UL,0x71493D5FL,18446744073709551606UL,2UL,0x204CB92DL,2UL,18446744073709551606UL,0x71493D5FL},{0xDDD702C7L,0xDDD702C7L,1UL,0x3258CFFDL,0xE6880DAFL,0x616EDC88L,0xC0E85E58L,0x17F27A6EL,2UL}}};
+ int i, j, k;
+ l_3375++;
+ if ((*g_268))
+ continue;
+ l_3229 = (l_3361 != (~((safe_rshift_func_int16_t_s_s(((safe_mod_func_uint32_t_u_u(((l_6 , &g_3348) != &g_2980), (~(!l_3382[3][3][1])))) , (safe_sub_func_int64_t_s_s((((*l_3197) = l_3385) == (l_3370 , (((((safe_lshift_func_uint8_t_u_u(l_3374, (l_3360 != l_3382[2][2][5]))) , 1L) , l_3388) != l_3365) , l_3389))), l_2))), 2)) || l_3352)));
+ for (g_888 = 0; (g_888 <= 2); g_888 += 1)
+ { /* block id: 1585 */
+ uint64_t *l_3398 = &g_629;
+ uint32_t l_3405 = 0x14A9940BL;
+ int32_t l_3406[9] = {1L,1L,1L,1L,1L,1L,1L,1L,1L};
+ int i, j;
+ l_3406[8] ^= ((((safe_add_func_uint64_t_u_u(((*l_3240)--), ((((safe_add_func_int16_t_s_s((((safe_lshift_func_uint16_t_u_u((((((*l_3398) = 0x4D91C8663151B76CLL) != 0x073A0058EBEA58B1LL) | l_3374) >= (safe_mul_func_int8_t_s_s((safe_sub_func_uint32_t_u_u(((*l_3185) == (void*)0), (safe_div_func_uint8_t_u_u((((*l_3158) |= l_3369) < 6UL), (l_3366 | (l_5 > 9UL)))))), l_3358[5]))), 9)) , &g_1567) == &g_1567), 0x1CACL)) == (*g_268)) < 0x93C5L) , l_3405))) >= l_3367) == (**g_1700)) ^ (*g_127));
+ if (l_3382[0][0][4])
+ continue;
+ }
+ }
+ if (l_3373)
+ continue;
+ l_3410--;
+ }
+ l_3419[2]--;
+ }
+ else
+ { /* block id: 1597 */
+ int32_t *l_3429 = &g_75[0];
+ uint16_t ***l_3481 = &g_642;
+ uint16_t ****l_3480[8] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
+ int64_t l_3488[4][1][5] = {{{7L,6L,7L,6L,7L}},{{0L,0L,1L,1L,0L}},{{(-1L),6L,(-1L),6L,(-1L)}},{{0L,1L,1L,0L,0L}}};
+ union U0 l_3502 = {0x32L};
+ int16_t *l_3543 = &g_408;
+ int64_t l_3545 = 0xCC9D81739EE3B76CLL;
+ int32_t l_3548 = 0xFEF003C0L;
+ int32_t l_3551 = 2L;
+ int32_t l_3553[10] = {(-7L),(-7L),(-7L),(-7L),(-7L),(-7L),(-7L),(-7L),(-7L),(-7L)};
+ uint8_t l_3555 = 1UL;
+ int8_t l_3624 = (-4L);
+ int16_t l_3665 = 0L;
+ int32_t l_3689 = 0x13D17FE3L;
+ uint64_t l_3693 = 1UL;
+ uint32_t **l_3716 = (void*)0;
+ uint32_t l_3753 = 0xBFB92AF7L;
+ uint8_t l_3758 = 0xDAL;
+ int64_t l_3759[1];
+ int8_t l_3828 = 0xBFL;
+ int32_t ** const ****l_3840 = (void*)0;
+ int32_t l_3856 = (-8L);
+ const uint32_t l_3872 = 3UL;
+ uint32_t *****l_3934 = &g_3601;
+ int i, j, k;
+ for (i = 0; i < 1; i++)
+ l_3759[i] = 0x4C49DDF402E1B26ALL;
+ if (((-4L) > (((l_3368 = 0L) > (safe_sub_func_uint16_t_u_u(((*g_441) != l_3426), (safe_lshift_func_uint8_t_u_u(1UL, 3))))) > ((**g_1175) == l_3429))))
+ { /* block id: 1599 */
+ (*g_267) = &l_3388;
+ return l_3369;
+ }
+ else
+ { /* block id: 1602 */
+ int16_t l_3436[5] = {0x12A2L,0x12A2L,0x12A2L,0x12A2L,0x12A2L};
+ uint32_t ****l_3437 = &l_3308;
+ int32_t l_3482 = 1L;
+ int32_t l_3483 = 0xF7B6D19CL;
+ int32_t l_3489 = 0x50343D68L;
+ int32_t l_3494[2][7] = {{0xB2700B47L,(-2L),0x382AAF93L,0x34F800FAL,0x34F800FAL,0x382AAF93L,(-2L)},{0xB2700B47L,(-2L),0x382AAF93L,0x34F800FAL,0x34F800FAL,0x382AAF93L,(-2L)}};
+ const uint64_t *l_3516[4][3] = {{&g_132,&l_3375,&g_132},{&g_132,&l_3375,&g_132},{&g_132,&l_3375,&g_132},{&g_132,&l_3375,&g_132}};
+ uint64_t ***** const *l_3537 = &l_3385;
+ int64_t l_3538 = 0xB72394C9ED776906LL;
+ int8_t l_3552 = 0xE5L;
+ uint16_t *****l_3635[9] = {&l_3480[2],&l_3480[2],&l_3480[2],&l_3480[2],&l_3480[2],&l_3480[2],&l_3480[2],&l_3480[2],&l_3480[2]};
+ uint16_t ******l_3634 = &l_3635[2];
+ int8_t *l_3654 = &l_3590[8];
+ int8_t *l_3655 = &l_3544;
+ int i, j;
+lbl_3541:
+ if ((0xC5581AAEL > (((&g_647[5][0] == ((*l_3437) = (((safe_sub_func_int64_t_s_s(((***g_276) = ((((safe_rshift_func_int16_t_s_s((((safe_mul_func_int8_t_s_s(((****g_2620) == ((((void*)0 != &l_3298) || 6L) ^ ((*g_1701) , 0x42C35DDFL))), 0x63L)) >= 0x1412F895L) < 0x6480L), 3)) , l_3436[4]) <= 0x67879153L) || 0x1F4B0C28L)), 18446744073709551615UL)) == 1UL) , l_3308))) != l_3436[4]) || g_746)))
+ { /* block id: 1605 */
+ union U0 **l_3439 = (void*)0;
+ int32_t l_3453[4][8][4] = {{{0xA9A0789AL,0x9149705AL,0x36D971D7L,0xD6172A53L},{0x36D971D7L,0xD6172A53L,0x252D9B84L,0xD6172A53L},{1L,0x9149705AL,1L,0x36D971D7L},{0x90B9288CL,0x2C266790L,0xD6172A53L,(-1L)},{1L,1L,1L,1L},{0xD6172A53L,0xD6172A53L,0xA9A0789AL,0x2C266790L},{0x36D971D7L,1L,0xD6172A53L,0x9149705AL},{(-1L),(-4L),0x90B9288CL,0xD6172A53L}},{{0x5A1350BCL,(-4L),0x5A1350BCL,0x9149705AL},{(-4L),1L,0x252D9B84L,0x2C266790L},{0x2C266790L,0xD6172A53L,(-1L),1L},{1L,(-1L),(-1L),1L},{0x2C266790L,0x9149705AL,0x252D9B84L,0x5A1350BCL},{(-4L),(-4L),0x5A1350BCL,0xA9A0789AL},{0x5A1350BCL,0xA9A0789AL,0x90B9288CL,0xA9A0789AL},{(-1L),(-4L),0xD6172A53L,0x5A1350BCL}},{{0x36D971D7L,0x9149705AL,0xA9A0789AL,1L},{0xD6172A53L,(-1L),1L,1L},{0xD6172A53L,0xD6172A53L,0xA9A0789AL,0x2C266790L},{0x36D971D7L,1L,0xD6172A53L,0x9149705AL},{(-1L),(-4L),0x90B9288CL,0xD6172A53L},{0x5A1350BCL,(-4L),0x5A1350BCL,0x9149705AL},{(-4L),1L,0x252D9B84L,0x2C266790L},{0x2C266790L,0xD6172A53L,(-1L),1L}},{{1L,(-1L),(-1L),1L},{0x2C266790L,0x9149705AL,0x252D9B84L,0x5A1350BCL},{(-4L),(-4L),0x5A1350BCL,0xA9A0789AL},{0x5A1350BCL,0xA9A0789AL,0x90B9288CL,0xA9A0789AL},{(-1L),(-4L),0xD6172A53L,0x5A1350BCL},{0x36D971D7L,0x9149705AL,0xA9A0789AL,1L},{0xD6172A53L,(-1L),1L,1L},{0xD6172A53L,0xD6172A53L,0xA9A0789AL,0x2C266790L}}};
+ uint16_t ***l_3479 = &g_3116;
+ uint16_t ****l_3478 = &l_3479;
+ int i, j, k;
+ g_457 = l_3438;
+ (***g_2621) |= (((*l_3429) = (l_3453[2][7][1] = ((*g_983) == (safe_div_func_int16_t_s_s((safe_mul_func_int8_t_s_s((((void*)0 == &g_3349) != (safe_add_func_uint8_t_u_u(l_3446[0], ((((*g_457) = (*g_457)) , ((safe_rshift_func_uint8_t_u_u(0x6FL, 0)) && (**g_642))) ^ ((safe_mod_func_int64_t_s_s((safe_sub_func_uint64_t_u_u(18446744073709551607UL, l_3453[2][7][1])), (***g_276))) <= l_3436[0]))))), l_3419[2])), l_3436[4]))))) < l_3436[4]);
+ if (l_3446[2])
+ { /* block id: 1611 */
+ int16_t *l_3472 = &g_408;
+ int32_t l_3474 = 0L;
+ int32_t l_3477 = (-1L);
+ int64_t l_3484 = (-1L);
+ int16_t l_3490 = 8L;
+ uint32_t l_3491 = 0UL;
+ (***g_2621) = (l_3436[4] ^ ((((((safe_div_func_uint32_t_u_u((0L | (safe_div_func_int32_t_s_s(((l_3453[2][7][1] ^ ((++(**g_3116)) , (safe_add_func_int64_t_s_s((+((((safe_lshift_func_uint8_t_u_s(((+(safe_add_func_uint32_t_u_u((safe_lshift_func_int16_t_s_s(((((*l_3438) , (safe_add_func_uint64_t_u_u((safe_div_func_int64_t_s_s(((((*l_3472) &= 0x0CC3L) > (*g_1739)) || (safe_unary_minus_func_uint32_t_u((l_3474 = (*g_1701))))), (safe_rshift_func_int8_t_s_s(((0x2FF5L | ((**g_1574) ^= ((*g_127) | 18446744073709551615UL))) | 0x1D00L), l_3477)))), (-6L)))) | g_471) , l_3436[4]), l_3477)), l_3477))) < 0L), l_3375)) >= l_3375) , l_3478) == l_3480[2])), 18446744073709551615UL)))) & l_5), (**g_1700)))), (*g_1701))) , (*l_3298)) , l_3436[4]) || l_3477) && l_3477) ^ l_3453[2][7][1]));
+ g_3485--;
+ --l_3491;
+ }
+ else
+ { /* block id: 1619 */
+ uint32_t *l_3498 = &g_3322[2];
+ l_3495--;
+ (***g_1175) = (func_97((((*l_3429) && (l_3498 != (void*)0)) , func_57(func_57((***g_2978), func_13((safe_add_func_uint64_t_u_u((*l_3429), ((*g_2980) == (*g_3348))))), (***g_2978), l_3453[2][7][1], (*g_999)), (***g_2978), l_3429, (*g_268), &l_3453[1][3][0]))) , l_3489);
+ (****g_2620) = 7L;
+ return (*g_1739);
+ }
+ }
+ else
+ { /* block id: 1625 */
+ const int32_t *l_3501 = &g_75[0];
+ int64_t *l_3514[1];
+ int i;
+ for (i = 0; i < 1; i++)
+ l_3514[i] = &l_3374;
+ (****g_2620) = ((((((l_3502 , (-1L)) == 0x94D1ECE486E951AELL) , (*l_3501)) , (**g_267)) < l_3494[1][1]) & (**g_267));
+ l_3370 &= ((safe_rshift_func_uint8_t_u_s(((((safe_mod_func_uint32_t_u_u(((safe_sub_func_uint8_t_u_u((l_3483 ^= (l_6 , ((safe_rshift_func_int16_t_s_u((safe_unary_minus_func_int16_t_s((((*g_127) == ((*l_3429) > (*l_3429))) & (((*g_856) = (*g_856)) == ((l_3363 &= (g_3515 = l_5)) , l_3516[0][0]))))), (((safe_add_func_uint32_t_u_u(((safe_div_func_int8_t_s_s((safe_lshift_func_uint8_t_u_s((*g_983), (((*g_1000) = ((*l_3429) || l_3523)) < (*g_1701)))), g_458.f0)) > (*g_268)), 0xE7B98EBDL)) ^ l_3446[0]) <= (*g_127)))) | l_3482))), (*l_3501))) ^ 1L), l_3489)) ^ (***g_276)) ^ 0x6712AC90L) & (*l_3429)), 4)) ^ (*g_127));
+ }
+ if (((safe_rshift_func_int8_t_s_u((*l_3429), 4)) & (((l_3369 &= l_3375) | (((**g_1700) = (((l_3419[2] , (safe_rshift_func_uint8_t_u_s((+(safe_lshift_func_uint16_t_u_s(((g_458.f1 , l_3530) != l_3533), 3))), 5))) && (l_3502 , l_3538)) >= 5L)) && 0x5B78E17CL)) || (*g_127))))
+ { /* block id: 1636 */
+ int32_t l_3546 = (-2L);
+ int32_t l_3547 = 0x4E086909L;
+ int64_t l_3549 = (-3L);
+ int32_t l_3550 = 0L;
+ int8_t l_3574 = 0x5FL;
+ uint32_t *l_3575[4][4][2] = {{{&g_1860,&g_204},{&g_1860,&g_3322[2]},{&g_204,&g_3322[2]},{&g_1860,&g_204}},{{&g_1860,&g_3322[2]},{&g_204,&g_3322[2]},{&g_1860,&g_204},{&g_1860,&g_3322[2]}},{{&g_204,&g_3322[2]},{&g_1860,&g_204},{&g_1860,&g_3322[2]},{&g_204,&g_3322[2]}},{{&g_1860,&g_204},{&g_1860,&g_3322[2]},{&g_204,&g_3322[2]},{&g_1860,&g_204}}};
+ int8_t l_3579 = 0L;
+ int16_t ***l_3594[6][5][1];
+ int i, j, k;
+ for (i = 0; i < 6; i++)
+ {
+ for (j = 0; j < 5; j++)
+ {
+ for (k = 0; k < 1; k++)
+ l_3594[i][j][k] = &g_2230;
+ }
+ }
+ for (l_3495 = 13; (l_3495 > 19); ++l_3495)
+ { /* block id: 1639 */
+ if (l_3228.f0)
+ goto lbl_3541;
+ (***g_2621) = (l_3542[2] != l_3543);
+ (****g_2620) = 0xA5091839L;
+ }
+ --l_3555;
+ l_3547 ^= ((((***g_1175) | (safe_mod_func_int8_t_s_s((safe_rshift_func_int16_t_s_s((safe_add_func_uint64_t_u_u((safe_sub_func_int64_t_s_s((l_3426 != (void*)0), l_3482)), (***g_276))), 5)), (safe_add_func_int32_t_s_s((safe_lshift_func_int16_t_s_s(((((*l_3429) = (*g_1000)) >= l_3550) || (safe_add_func_uint32_t_u_u((safe_sub_func_uint64_t_u_u(((*g_1700) != ((l_3574 = (l_3436[4] || l_3544)) , l_3575[0][2][0])), (*l_3429))), l_3436[2]))), (**g_1744))), l_3549))))) >= 6L) <= 0xC7L);
+ (**g_2622) = ((safe_mul_func_uint16_t_u_u((*g_643), (l_3580++))) == (safe_add_func_int64_t_s_s(((l_3590[3] = (((--(*l_3240)) <= ((***g_276) = l_3574)) == (safe_mul_func_int16_t_s_s(0xD1B3L, (safe_unary_minus_func_uint32_t_u((**g_1700))))))) | (safe_lshift_func_int16_t_s_u(0L, 13))), ((((((*l_3543) ^= ((void*)0 == g_3593)) < (*g_1739)) == ((l_3594[4][4][0] != l_3595) < 0x384FL)) , g_746) , 0L))));
+ }
+ else
+ { /* block id: 1654 */
+ uint32_t ******l_3599[8];
+ int32_t l_3609 = (-2L);
+ int32_t *l_3610 = &l_3551;
+ int8_t l_3622 = 3L;
+ int i;
+ for (i = 0; i < 8; i++)
+ l_3599[i] = &l_3598;
+ (***g_2978) = func_51(((*l_3158) ^= (!((g_3600[3][1][4] = (g_778 , l_3598)) == (((*l_3298) = (*g_457)) , (void*)0)))), ((((safe_add_func_uint16_t_u_u(((safe_mul_func_int8_t_s_s((((safe_lshift_func_uint8_t_u_s(((*g_983) = (((***g_1175) == (!((safe_unary_minus_func_int32_t_s(0x9CE8AE23L)) < 0xF4L))) || ((*g_983) , (l_3609 | g_135)))), l_3538)) > 3UL) & 0xE0A3L), l_3370)) , 65534UL), l_3363)) < l_3609) & (**g_2631)) ^ g_3176[0]), l_3489, &l_3388, l_3610);
+ (****g_2620) = l_3436[4];
+ for (g_3578 = 28; (g_3578 <= (-29)); --g_3578)
+ { /* block id: 1663 */
+ const uint32_t l_3615 = 0x1A635137L;
+ int32_t l_3623 = 0xFC5CCCB4L;
+ (****g_2978) ^= (**g_267);
+ (*g_267) = func_99(l_3482, (((**g_3116) = (!(((l_3494[0][2] <= (***g_1175)) && 0xCCDC2293L) , 1UL))) >= (l_3623 |= (safe_add_func_int64_t_s_s((*l_3610), ((l_3615 && (safe_mul_func_int16_t_s_s(l_3494[0][2], (safe_lshift_func_int8_t_s_u((((*l_3158) = (!(safe_mod_func_uint64_t_u_u((((*l_3429) | l_3622) , (*l_3610)), 2UL)))) > g_1337), (*l_3610)))))) , l_3489))))), (*g_457), (**g_276), (**g_276));
+ ++l_3626;
+ }
+ }
+ (**g_999) = (safe_rshift_func_uint16_t_u_u((((*l_3429) = l_3489) >= ((safe_mul_func_int8_t_s_s(((safe_unary_minus_func_uint64_t_u(((void*)0 != l_3634))) > ((safe_add_func_uint32_t_u_u((1UL > (safe_lshift_func_int8_t_s_s((safe_lshift_func_int8_t_s_s((safe_mul_func_uint16_t_u_u((((safe_sub_func_uint32_t_u_u((((***l_3595) = ((((*l_3437) = &g_647[5][0]) != (void*)0) > (((((l_3362 , ((safe_lshift_func_int8_t_s_s(((*l_3655) = (((-5L) == ((safe_div_func_uint16_t_u_u(((**g_1574)++), (safe_lshift_func_uint16_t_u_u((((((*l_3654) = ((*l_3158) = 0xE9L)) >= g_2033[0]) , l_3483) && 18446744073709551614UL), (*****g_3348))))) | 65528UL)) , l_3489)), g_133)) | 0xE2CB313EB04FFBB3LL)) && (**g_1700)) || 254UL) > 0xAC2D93AAL) <= l_3538))) , 0UL), l_3656)) < l_3375) , l_3580), l_3369)), g_409[0][0])), l_3436[4]))), (****g_2620))) , l_3489)), (*g_983))) < l_3371)), 9));
+ (*g_999) = &l_3553[5];
+ }
+ if ((safe_sub_func_int32_t_s_s(0x09312BA0L, ((l_3659 == (void*)0) <= (safe_sub_func_int64_t_s_s((((*g_983) = (+((l_5 ^ ((*l_3429) |= ((*g_1000) = ((safe_mod_func_int16_t_s_s(((*g_457) , ((func_97(&l_3551) , (**g_1574)) , (l_3446[4] != l_3664))), l_3665)) && 0L)))) && (-1L)))) || (*g_983)), l_3363))))))
+ { /* block id: 1685 */
+ for (l_3228.f1 = 0; (l_3228.f1 <= 19); l_3228.f1++)
+ { /* block id: 1688 */
+ for (g_1086 = 29; (g_1086 > (-2)); g_1086--)
+ { /* block id: 1691 */
+ if ((****g_2978))
+ break;
+ }
+ }
+ for (l_3624 = 0; (l_3624 < (-21)); --l_3624)
+ { /* block id: 1697 */
+ if ((*l_3429))
+ break;
+ }
+ }
+ else
+ { /* block id: 1700 */
+ int64_t ** const l_3680 = &g_127;
+ int32_t l_3690 = (-9L);
+ int32_t l_3691 = (-9L);
+ uint32_t l_3692 = 0x6CBB8C67L;
+ int16_t *l_3700[6];
+ int16_t l_3748 = 0xD93AL;
+ int16_t l_3792 = (-6L);
+ uint64_t * const * const ***l_3794 = (void*)0;
+ uint64_t * const * const **** const l_3793 = &l_3794;
+ int64_t l_3795 = 0x2DEEDFD4EC26300BLL;
+ int16_t l_3813 = 0x5ABEL;
+ uint32_t ***l_3824 = &g_1700;
+ int32_t *****l_3839 = &g_2978;
+ int32_t ******l_3838 = &l_3839;
+ int i;
+ for (i = 0; i < 6; i++)
+ l_3700[i] = &g_408;
+ (**g_999) = (g_78 != (*l_3429));
+ if (l_3523)
+ goto lbl_3862;
+ if (((*l_3429) = (safe_mul_func_int8_t_s_s(g_146, ((*g_983) = ((safe_rshift_func_int16_t_s_u((l_3693 &= (((*g_1701) , (0xE5L <= ((safe_mod_func_uint16_t_u_u((((*g_1739) > l_3371) || ((safe_sub_func_int8_t_s_s(((l_3680 != ((((safe_mul_func_uint16_t_u_u((****g_3349), (safe_sub_func_int32_t_s_s((l_3690 = ((**g_2622) = (l_5 ^ (safe_sub_func_uint64_t_u_u(((~(safe_lshift_func_int8_t_s_s((-1L), l_3371))) != 0x1357C7A0L), l_3689))))), l_3419[2])))) != (**g_3116)) , 1L) , (void*)0)) , (*l_3429)), l_3691)) > l_3446[1])), (*g_1739))) >= l_3692))) || (*l_3429))), 6)) | 0x8AD29F6C6A38AA53LL))))))
+ { /* block id: 1707 */
+ int64_t l_3694 = 1L;
+ int32_t l_3695 = 3L;
+ uint8_t *l_3699 = &l_3555;
+ union U0 ***l_3711 = &l_3534[0];
+ if ((((((((*l_3298) , 1L) <= ((*l_3699) = ((0L ^ (l_3695 = l_3694)) && (safe_unary_minus_func_uint8_t_u((--(*g_983))))))) <= ((l_3694 <= (((((l_3700[3] != (void*)0) < ((**g_3116) = (**g_1574))) , (**g_267)) || 4294967287UL) ^ 0x0D56CD8E1D75A02ELL)) | 0xF31DCA78L)) <= l_3690) , (**g_3348)) != (void*)0))
+ { /* block id: 1712 */
+ (****g_2620) &= (safe_rshift_func_uint16_t_u_s(((g_3705 = l_3703) == &l_3543), l_3695));
+ return (*g_1739);
+ }
+ else
+ { /* block id: 1716 */
+ int16_t l_3712[8][6][5] = {{{(-1L),0x482FL,0x4D1EL,0xA893L,0x63D4L},{(-1L),0x00CCL,0x00CCL,(-1L),(-9L)},{1L,0xA893L,(-6L),(-1L),0x4207L},{(-9L),0x00CCL,0x189DL,(-9L),(-9L)},{0xA2F2L,0x482FL,0xA2F2L,(-1L),0x4D1EL},{0xD746L,(-1L),(-9L),(-1L),0xD746L}},{{0xA2F2L,(-1L),(-1L),0xA893L,(-1L)},{(-9L),(-9L),(-9L),0xD746L,0xB2A8L},{1L,(-1L),0xA2F2L,(-1L),(-1L)},{(-1L),0xD746L,0x189DL,0x189DL,0x189DL},{0x63D4L,0xA893L,0x4D1EL,0x482FL,(-1L)},{0xD746L,0xB2A8L,0xD746L,(-9L),(-9L)}},{{(-6L),(-1L),(-1L),(-1L),(-6L)},{0xD746L,0x00CCL,0xB2A8L,0x189DL,0xB2A8L},{0x63D4L,(-1L),(-1L),(-1L),1L},{0x00CCL,0xD746L,0xD746L,0x00CCL,0xB2A8L},{0xA2F2L,(-1L),0x4D1EL,0x4A24L,(-6L)},{0xB2A8L,0xD746L,(-9L),(-9L),(-9L)}},{{0x4207L,(-1L),0x4207L,0x4A24L,(-1L)},{0x189DL,0x00CCL,(-9L),0x00CCL,0x189DL},{0x4207L,(-1L),0x63D4L,(-1L),0x63D4L},{0xB2A8L,0xB2A8L,(-9L),0x189DL,(-1L)},{0xA2F2L,0xA893L,0x4207L,(-1L),0x63D4L},{0x00CCL,0x189DL,(-9L),(-9L),0x189DL}},{{0x63D4L,0xA893L,0x4D1EL,0x482FL,(-1L)},{0xD746L,0xB2A8L,0xD746L,(-9L),(-9L)},{(-6L),(-1L),(-1L),(-1L),(-6L)},{0xD746L,0x00CCL,0xB2A8L,0x189DL,0xB2A8L},{0x63D4L,(-1L),(-1L),(-1L),1L},{0x00CCL,0xD746L,0xD746L,0x00CCL,0xB2A8L}},{{0xA2F2L,(-1L),0x4D1EL,0x4A24L,(-6L)},{0xB2A8L,0xD746L,(-9L),(-9L),(-9L)},{0x4207L,(-1L),0x4207L,0x4A24L,(-1L)},{0x189DL,0x00CCL,(-9L),0x00CCL,0x189DL},{0x4207L,(-1L),0x63D4L,(-1L),0x63D4L},{0xB2A8L,0xB2A8L,(-9L),0x189DL,(-1L)}},{{0xA2F2L,0xA893L,0x4207L,(-1L),0x63D4L},{0x00CCL,0x189DL,(-9L),(-9L),0x189DL},{0x63D4L,0xA893L,0x4D1EL,0x482FL,(-1L)},{0xD746L,0xB2A8L,0xD746L,(-9L),(-9L)},{(-6L),(-1L),(-1L),(-1L),(-6L)},{0xD746L,0x00CCL,0xB2A8L,0x189DL,0xB2A8L}},{{0x63D4L,(-1L),(-1L),(-1L),1L},{0x00CCL,0xD746L,0xD746L,0x00CCL,0xB2A8L},{0xA2F2L,(-1L),0x4D1EL,0x4A24L,(-6L)},{0xB2A8L,0xD746L,(-9L),(-9L),(-9L)},{0x4207L,(-1L),0x4207L,0x4A24L,(-1L)},{0x189DL,0x00CCL,(-9L),0x00CCL,(-9L)}}};
+ const uint32_t ***l_3715 = &g_3713[0];
+ int i, j, k;
+ (*l_3429) &= (**g_2622);
+ (**g_2622) = ((((((void*)0 == (*l_3314)) , &g_3349) == &g_2981) > ((safe_mod_func_int64_t_s_s((((((((((void*)0 == l_3711) == ((l_3712[7][5][4] | (((*l_3715) = (((-4L) <= (0x4E8EA59DL != l_3690)) , g_3713[1])) != l_3716)) <= (*g_983))) , l_3690) || 1UL) || 0x80L) ^ l_6) & l_3712[7][5][4]) && (*l_3429)), 2UL)) > 0xD7L)) ^ (*l_3429));
+ (***g_1175) = ((safe_mod_func_uint8_t_u_u((safe_mul_func_int16_t_s_s(l_3690, ((*l_3543) = (((0x7EL ^ (*l_3429)) , ((l_3736 = (((**g_1700) = (safe_mul_func_int16_t_s_s((((l_3363 & 0x91F6L) | (*l_3429)) && (safe_lshift_func_uint16_t_u_s(((safe_rshift_func_int16_t_s_s(((*l_3429) = 7L), (((*g_457) , (((~(safe_sub_func_int8_t_s_s((safe_lshift_func_int8_t_s_s((safe_add_func_int32_t_s_s(((safe_mul_func_int16_t_s_s(l_3694, 1L)) >= l_3580), l_3735)), 0)), 0UL))) , l_3690) & 0x6822B2381C627CA9LL)) != l_3695))) && 18446744073709551606UL), 12))), (*g_1739)))) <= l_3664)) & l_3690)) == l_3691)))), (*g_983))) , 1L);
+ }
+ if ((safe_unary_minus_func_uint32_t_u((safe_unary_minus_func_int32_t_s((!((g_133 , ((safe_mul_func_int8_t_s_s((safe_mul_func_int16_t_s_s(((safe_sub_func_int64_t_s_s(0x26C8E728EBABCF00LL, (safe_sub_func_uint16_t_u_u(1UL, l_3736)))) <= l_3695), (safe_unary_minus_func_int32_t_s((l_3748 ^ (++(**g_1700))))))), (safe_sub_func_uint64_t_u_u(l_3753, (*l_3429))))) || ((safe_lshift_func_uint8_t_u_s((safe_lshift_func_int16_t_s_s(l_3758, l_3695)), l_3495)) , l_3759[0]))) >= l_3695)))))))
+ { /* block id: 1727 */
+ int32_t **l_3760 = &l_3[7][8][1];
+ (*l_3760) = (**g_2621);
+ }
+ else
+ { /* block id: 1729 */
+ int64_t l_3791 = (-7L);
+ (**g_2622) = ((((safe_lshift_func_int16_t_s_s((safe_mod_func_int64_t_s_s((((-9L) == (((*l_3543) = (safe_sub_func_uint32_t_u_u(((**g_1700) ^= l_3748), (((((safe_mul_func_int8_t_s_s((((safe_mul_func_uint16_t_u_u((g_3771 != (((safe_lshift_func_int16_t_s_s((((((safe_mul_func_uint8_t_u_u(l_3694, (8L && (4294967293UL & (*g_3714))))) & ((safe_mul_func_uint8_t_u_u((safe_unary_minus_func_uint8_t_u((!(safe_add_func_int32_t_s_s((4L ^ ((safe_mod_func_int8_t_s_s(((safe_div_func_uint32_t_u_u((safe_add_func_int16_t_s_s(((safe_mod_func_int8_t_s_s(((((((**l_3385) = (**l_3389)) != (void*)0) & 0x33A3L) && l_3790[0][4]) || 0x233F04E3L), 0x28L)) || (**g_999)), l_3694)), l_3791)) >= 0xB1L), l_3691)) ^ 0x3CBEL)), l_3792))))), l_3791)) <= 0x7B71L)) < (*g_1000)) != 1L) > (*g_127)), 6)) , l_3748) , l_3793)), (*l_3429))) & l_3368) || 0x36914F2FD50638ECLL), 0xD0L)) > 0L) , (void*)0) == g_1185) , (*l_3429))))) >= (-5L))) > l_3419[2]), l_3695)), 4)) | (*l_3429)) | l_3495) ^ l_3795);
+ return l_3791;
+ }
+ }
+ else
+ { /* block id: 1736 */
+ uint64_t * const l_3798 = &l_3656;
+ int32_t l_3803[8][4][1] = {{{(-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}}};
+ const uint32_t ****l_3826 = &l_3825[0][0];
+ union U0 ***l_3837 = &l_3534[4];
+ int32_t l_3853[9][7][4] = {{{0xB571F11DL,9L,(-1L),1L},{0xD0FA9223L,4L,(-2L),8L},{8L,1L,2L,1L},{0x489591CBL,(-5L),0x84DAE1CFL,0x1225A671L},{9L,1L,0xC3ACAE87L,0xF1EB5902L},{1L,(-1L),0x91EB2A23L,7L},{(-1L),0L,0L,(-1L)}},{{(-1L),0xE828EEB4L,3L,1L},{4L,0xBB7E3BACL,0xE28983ADL,0x10FCC4E9L},{0xBB7E3BACL,0L,0x1225A671L,0x053AB736L},{(-1L),1L,0xE8131784L,0xF1EB5902L},{0x7A8086E9L,0x84DAE1CFL,0xC416942FL,9L},{7L,(-5L),7L,(-1L)},{9L,(-10L),(-10L),8L}},{{0x0C547A2AL,1L,0x7D2C2085L,(-10L)},{0x1AB709E8L,9L,0x7D2C2085L,(-1L)},{0x0C547A2AL,7L,(-10L),(-1L)},{9L,(-1L),7L,0x0C547A2AL},{7L,0x0C547A2AL,0xC416942FL,0xB571F11DL},{0x7A8086E9L,0x1FB3E971L,0xE8131784L,0x7A8086E9L},{(-1L),(-1L),0x1225A671L,0x662EFE13L}},{{0xBB7E3BACL,1L,0xE28983ADL,(-1L)},{4L,(-3L),3L,1L},{(-1L),0xC416942FL,0L,0x662EFE13L},{(-1L),0x10FCC4E9L,0x91EB2A23L,0xE28983ADL},{1L,0x1FB3E971L,0xC3ACAE87L,0xD0FA9223L},{9L,1L,0x84DAE1CFL,0x0C547A2AL},{0x489591CBL,1L,2L,0x21B8CC8CL}},{{8L,7L,(-2L),0x1FB3E971L},{0xD0FA9223L,0L,(-1L),(-10L)},{0xB571F11DL,4L,0x21B8CC8CL,0L},{8L,(-10L),0L,1L},{0x2502D502L,0x73A90A79L,0x84DAE1CFL,9L},{0L,1L,1L,1L},{1L,1L,(-7L),7L}},{{0x1FB3E971L,7L,0L,0x10FCC4E9L},{0x91EB2A23L,0xE828EEB4L,1L,0L},{4L,0xE828EEB4L,8L,0x10FCC4E9L},{0xE828EEB4L,7L,0x1225A671L,7L},{(-1L),1L,1L,0x003CE246L},{0xC416942FL,(-1L),(-3L),0x7D2C2085L},{1L,0xC3ACAE87L,0x6D7917C2L,0x68B24717L}},{{0x57110039L,0xBB7E3BACL,6L,0xE8131784L},{0x1AB709E8L,0x84DAE1CFL,0xA66F9617L,0xBB7E3BACL},{0x489591CBL,6L,0x13596ED7L,0xB571F11DL},{0L,1L,6L,1L},{0x7D2C2085L,7L,(-10L),0x1AB709E8L},{1L,0L,0L,0x053AB736L},{(-1L),0xB571F11DL,1L,(-1L)}},{{0L,0L,1L,0x21B8CC8CL},{0x91EB2A23L,0L,(-1L),7L},{0xE49BE893L,(-1L),0L,0xCA2FA527L},{0L,2L,0x7A8086E9L,0x21B8CC8CL},{0xB571F11DL,1L,(-10L),0xC416942FL},{(-1L),0xB571F11DL,0x003CE246L,0x71246B4AL},{0x1225A671L,0x1AB709E8L,0x10FCC4E9L,0x1AB709E8L}},{{0x73A90A79L,0xCA2FA527L,(-1L),(-1L)},{0xE8131784L,1L,1L,1L},{0x053AB736L,0x1225A671L,0L,0xBB7E3BACL},{0x053AB736L,0xE49BE893L,1L,(-1L)},{0xE8131784L,0xBB7E3BACL,(-1L),(-1L)},{0x73A90A79L,1L,0x10FCC4E9L,0x7D2C2085L},{0x1225A671L,0x807C8DCEL,0x003CE246L,(-1L)}}};
+ int i, j, k;
+ (*g_999) = func_13((*g_983));
+ (***g_1175) = (((((safe_sub_func_int64_t_s_s((&l_3693 == l_3798), (*l_3429))) != ((((((safe_mul_func_uint8_t_u_u((((((safe_add_func_uint8_t_u_u(0UL, 0L)) < (((l_3690 < l_3803[5][2][0]) , ((safe_mod_func_uint32_t_u_u((safe_add_func_uint64_t_u_u((safe_div_func_int16_t_s_s(((&g_3600[3][1][4] != (func_97(func_13(((*g_983)--))) , (void*)0)) >= l_3812), l_3419[2])), l_3795)), (*l_3429))) == 1L)) ^ l_3813)) , (**g_642)) <= 0x2027L) <= (*l_3429)), g_3515)) && 0xCFL) ^ l_7) & l_3814) & 0x0B8C30BBDC12EE56LL) , l_3691)) || g_3815) <= (-1L)) && l_3690);
+ if ((l_3803[5][2][0] | (((0x85L || l_3691) < ((((**l_3680) = (~((safe_sub_func_int32_t_s_s(0x8D33576CL, (safe_rshift_func_uint8_t_u_u((safe_add_func_int8_t_s_s((((safe_lshift_func_uint16_t_u_s(((*g_127) != ((l_3824 == ((*l_3826) = (l_3748 , l_3825[0][0]))) || ((((l_3827[0] != (**g_3349)) || 0x1CL) == 0xE8B82DC7BBA9FDFCLL) && l_3828))), 2)) , 0xDDL) <= 1UL), l_3803[4][2][0])), l_3748)))) && (*l_3429)))) || 0L) , l_3664)) >= l_3829)))
+ { /* block id: 1742 */
+ int32_t *l_3836 = &g_75[2];
+ (***g_2621) |= (0x3F81L <= (safe_mul_func_int16_t_s_s((safe_lshift_func_uint16_t_u_u(((**g_642)--), 9)), 0xF858L)));
+ (**g_1175) = l_3836;
+ }
+ else
+ { /* block id: 1746 */
+ int16_t l_3841 = 0x5F4CL;
+ int32_t l_3852 = 0L;
+ uint64_t *****l_3854 = &g_1567;
+ int32_t l_3855[6][6] = {{3L,1L,3L,3L,1L,3L},{3L,1L,3L,3L,1L,3L},{3L,1L,3L,3L,1L,3L},{3L,1L,3L,3L,1L,3L},{3L,1L,3L,3L,1L,3L},{3L,1L,3L,3L,1L,3L}};
+ int i, j;
+ (**g_2622) = (((g_1185 == l_3837) && (l_3838 == l_3840)) < l_3803[5][1][0]);
+ l_3855[1][2] |= ((l_3841 != ((safe_add_func_uint64_t_u_u((((l_3853[3][3][2] ^= (safe_sub_func_uint64_t_u_u(((((*g_127) &= (l_3852 ^= (l_3846 && ((((((**l_3703) = ((******l_3838) <= ((**g_2620) == (void*)0))) , (g_3847 , (safe_rshift_func_int8_t_s_u(l_3803[5][1][0], (safe_mul_func_uint8_t_u_u((*g_983), 255UL)))))) , (***g_2621)) <= (*g_3714)) < 0xFB0546D3BB5BDDC7LL)))) , (*g_3310)) == (*g_3310)), 5L))) , l_3389) != l_3854), l_3841)) == l_3664)) || 1L);
+ }
+ }
+lbl_3862:
+ l_3369 = ((l_3856 >= (*g_643)) & (((l_3857 = l_3857) == (((*****l_3839) = l_3580) , l_3858)) ^ (l_5 &= (safe_rshift_func_int16_t_s_u(0L, 14)))));
+ for (l_6 = 0; (l_6 < 6); l_6++)
+ { /* block id: 1762 */
+ int8_t l_3869 = 0x66L;
+ int32_t l_3881 = 9L;
+ int16_t *l_3885 = (void*)0;
+ if ((*****l_3839))
+ { /* block id: 1763 */
+ int8_t **l_3870 = (void*)0;
+ int8_t **l_3871 = &g_3328;
+ uint8_t l_3882 = 1UL;
+ uint64_t **** const **l_3910 = &l_3909[2];
+ uint8_t l_3911[4] = {0x92L,0x92L,0x92L,0x92L};
+ const int32_t *l_3914 = &l_3881;
+ int i;
+ g_3879 |= (((safe_add_func_uint64_t_u_u((safe_mul_func_int16_t_s_s(l_3869, (*g_1739))), (&g_708 == ((*l_3871) = (void*)0)))) , (((((*****l_3839) == ((0x80L && ((*g_983) = (*g_983))) , l_3872)) && (safe_add_func_int64_t_s_s((((safe_div_func_int8_t_s_s((safe_mul_func_int16_t_s_s(0x5326L, (*l_3429))), (*g_983))) & 0L) ^ (*l_3429)), 1L))) > (*****l_3839)) , 0x75F6BE4B492A4C37LL)) , (**g_267));
+ l_3882++;
+ (******l_3838) = (**g_2622);
+ l_3914 = func_99((*****l_3839), ((((void*)0 != l_3885) == ((safe_mod_func_uint32_t_u_u(((safe_sub_func_uint64_t_u_u((safe_add_func_int64_t_s_s(((((((safe_sub_func_int64_t_s_s(((((safe_lshift_func_uint16_t_u_s((safe_sub_func_uint16_t_u_u((safe_rshift_func_int16_t_s_s((l_3881 , (safe_mod_func_uint64_t_u_u(((safe_lshift_func_uint8_t_u_s((safe_sub_func_uint8_t_u_u((*****l_3839), (*g_983))), 4)) , ((0x433AL || ((*l_3543) = (+((l_3908 < ((((*l_3910) = l_3909[4]) != (*g_3771)) || l_3911[1])) >= 0x39BC5FC44F688776LL)))) != (*g_643))), (*g_127)))), l_3912[0])), (*g_643))), 13)) ^ l_3869) == 0x0D9A3BF5L) , l_3911[0]), (*****l_3839))) && l_3869) , (void*)0) != &g_277[0]) > (*g_2632)) & (**g_642)), (******l_3838))), 0xA445774BC6D1CC7ALL)) < 0UL), 0x210284B3L)) , l_3882)) , 0x7739L), (*l_3438), g_3913, &l_3625);
+ }
+ else
+ { /* block id: 1772 */
+ int32_t **l_3915 = &l_3[7][8][1];
+ (*l_3915) = (***g_2620);
+ if ((*g_268))
+ break;
+ }
+ return (*l_3429);
+ }
+ }
+ l_3362 &= (safe_sub_func_uint64_t_u_u(((*l_3240) ^= (safe_sub_func_uint16_t_u_u((safe_rshift_func_int16_t_s_u(0L, (--(**g_1574)))), (((safe_add_func_int8_t_s_s((safe_mod_func_int64_t_s_s((((*g_1701) = (safe_rshift_func_int8_t_s_s((safe_rshift_func_int8_t_s_s((((*g_983) > ((safe_div_func_uint8_t_u_u(((&g_3601 != l_3934) & (safe_mul_func_uint8_t_u_u((safe_sub_func_int64_t_s_s((***g_276), (*g_127))), ((*****g_3348) <= (l_3419[2] > ((safe_add_func_uint8_t_u_u((l_7 != l_3912[3]), 0x03L)) == l_3912[2])))))), 3UL)) > 0x47L)) | (*l_3429)), g_2797)), 4))) != (-6L)), 2L)), l_3363)) , (*l_3429)) , 0x86BCL)))), l_3664));
+ }
+ }
+ else
+ { /* block id: 1784 */
+ int32_t l_3943[3];
+ int32_t l_3954 = (-1L);
+ uint16_t ****l_3978 = (void*)0;
+ uint16_t *****l_3977[1];
+ const uint32_t *l_3980 = &l_2;
+ uint32_t **l_3986 = &g_1701;
+ uint32_t *******l_3990 = &l_3989;
+ uint32_t *******l_3991 = (void*)0;
+ uint32_t ******l_3993[10] = {&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3],&g_3600[4][2][3]};
+ uint32_t *******l_3992 = &l_3993[3];
+ uint64_t *****l_3998[3];
+ int32_t l_4006 = 0x80D0535EL;
+ int i;
+ for (i = 0; i < 3; i++)
+ l_3943[i] = 0x14357B69L;
+ for (i = 0; i < 1; i++)
+ l_3977[i] = &l_3978;
+ for (i = 0; i < 3; i++)
+ l_3998[i] = &g_1567;
+ (**g_999) &= (-1L);
+ for (g_3407 = 26; (g_3407 >= (-14)); g_3407--)
+ { /* block id: 1788 */
+ uint32_t l_3947 = 1UL;
+ uint32_t **l_3979[8][9] = {{(void*)0,(void*)0,(void*)0,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,(void*)0,&g_1701,&g_1701,&g_1701,(void*)0,&g_1701,&g_1701,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,(void*)0,(void*)0,(void*)0,&g_1701,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,(void*)0,&g_1701,(void*)0},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,&g_1701,(void*)0,&g_1701,&g_1701,&g_1701,&g_1701,(void*)0,&g_1701},{&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701},{&g_1701,(void*)0,&g_1701,(void*)0,&g_1701,&g_1701,&g_1701,&g_1701,&g_1701}};
+ int32_t l_3985 = (-6L);
+ int i, j;
+ for (l_2 = 0; (l_2 <= 5); l_2 += 1)
+ { /* block id: 1791 */
+ int32_t l_3953 = 0x2CBB6FB6L;
+ int8_t *l_3968 = (void*)0;
+ int8_t *l_3969 = (void*)0;
+ int8_t *l_3970 = (void*)0;
+ int8_t *l_3971 = &g_458.f3;
+ int32_t l_3972 = 0x21880BDEL;
+ int i, j;
+ (**g_2622) = (l_3943[0] , (*g_268));
+ (***g_1175) |= (l_3944 <= (safe_lshift_func_uint8_t_u_s(((l_3947 && (l_3943[0] == ((((*l_3158) |= (safe_rshift_func_uint16_t_u_u(l_3950, 13))) | (g_3254 = (safe_rshift_func_uint8_t_u_u(l_3953, 5)))) != ((*g_983)++)))) <= (safe_mod_func_uint64_t_u_u((l_3495 && (safe_lshift_func_uint8_t_u_u((safe_lshift_func_int8_t_s_s((safe_unary_minus_func_int64_t_s((safe_sub_func_uint32_t_u_u((safe_mul_func_int8_t_s_s(((*l_3971) = l_3954), (l_3943[1] | (*****g_3348)))), l_3664)))), l_3972)), l_3947))), l_3972))), 6)));
+ }
+ (**g_999) = ((((((**l_3596) = (safe_mod_func_uint8_t_u_u(((safe_lshift_func_uint16_t_u_u(((void*)0 != l_3977[0]), 7)) & (l_3979[4][5] != (((*g_457) = ((l_3947 && (l_3954 ^= ((l_3943[0] || (l_3980 != (((safe_rshift_func_int16_t_s_s(((****g_2978) | ((safe_mod_func_uint8_t_u_u(l_3947, l_3985)) != l_3943[1])), 7)) | l_3943[2]) , l_3980))) ^ 0xF710904B1728434FLL))) , (*g_457))) , l_3986))), l_3943[2]))) & (*g_2632)) < 0UL) >= 0x51L) ^ l_3944);
+ if (g_3515)
+ goto lbl_4001;
+ }
+lbl_4001:
+ (***g_1175) = (safe_div_func_uint16_t_u_u(0x3752L, ((((*l_3990) = l_3989) == ((*l_3992) = &g_3600[3][1][4])) , ((((safe_add_func_uint16_t_u_u((safe_mul_func_uint16_t_u_u(l_3371, ((((l_3998[0] != (void*)0) & ((((l_3954 , (safe_mul_func_uint16_t_u_u((*g_2632), ((l_3943[0] , 0xF4L) >= 1UL)))) <= 0L) | 0xF16E067CL) < (-2L))) != 9UL) > l_3362))), (*g_643))) , (void*)0) == (void*)0) , 0x3FC4L))));
+ for (g_458.f2 = 12; (g_458.f2 < 6); g_458.f2--)
+ { /* block id: 1810 */
+ uint16_t l_4014 = 0UL;
+ for (g_3879 = 0; (g_3879 >= 0); g_3879++)
+ { /* block id: 1813 */
+ int32_t *l_4007 = &l_7;
+ int32_t *l_4008 = &g_75[0];
+ int32_t *l_4009 = &l_3362;
+ int32_t *l_4010 = (void*)0;
+ int32_t *l_4011 = (void*)0;
+ int32_t *l_4012[6] = {&l_3943[0],&l_3943[0],&l_3943[0],&l_3943[0],&l_3943[0],&l_3943[0]};
+ int64_t l_4013 = 0x2BE90AF3ABBB321ALL;
+ int i;
+ ++l_4014;
+ return l_4006;
+ }
+ return l_4014;
+ }
+ }
+ return l_4017;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_20 g_999 g_1000
+ * writes: g_20
+ */
+static int32_t * func_13(uint8_t p_14)
+{ /* block id: 10 */
+ int32_t *l_15 = (void*)0;
+ int32_t *l_16 = (void*)0;
+ int32_t l_17[7][6] = {{2L,1L,0xDDB2097EL,1L,1L,0xDDB2097EL},{2L,(-1L),1L,(-3L),0xF8DE905FL,(-9L)},{0L,(-1L),1L,(-1L),1L,1L},{0x1450187EL,1L,1L,0x1450187EL,(-1L),(-9L)},{(-3L),3L,1L,0x1450187EL,(-9L),0xDDB2097EL},{0x1450187EL,(-9L),0xDDB2097EL,(-1L),(-9L),3L},{0L,3L,(-1L),(-3L),(-1L),3L}};
+ int32_t *l_18[7] = {&g_4[0],&g_4[0],&g_4[0],&g_4[0],&g_4[0],&g_4[0],&g_4[0]};
+ int8_t l_19 = 0xA6L;
+ int16_t l_21[7][4][1] = {{{0x8108L},{0x030DL},{1L},{1L}},{{1L},{0x030DL},{0x8108L},{0x030DL}},{{1L},{1L},{1L},{0x030DL}},{{0x8108L},{0x030DL},{1L},{1L}},{{1L},{0x030DL},{0x8108L},{0x030DL}},{{1L},{1L},{1L},{0x030DL}},{{0x8108L},{0x030DL},{1L},{1L}}};
+ uint64_t l_22 = 18446744073709551615UL;
+ uint16_t l_2653 = 65530UL;
+ uint32_t l_3086 = 4294967289UL;
+ int32_t ***l_3091 = &g_999;
+ int i, j, k;
+ l_22++;
+ for (l_19 = 0; (l_19 <= (-1)); l_19 = safe_sub_func_uint32_t_u_u(l_19, 9))
+ { /* block id: 14 */
+ int32_t *l_27[5];
+ int i;
+ for (i = 0; i < 5; i++)
+ l_27[i] = &l_17[3][1];
+ g_20 = 0x22E85F59L;
+ return &g_20;
+ }
+ for (g_20 = 0; (g_20 <= 15); g_20 = safe_add_func_int64_t_s_s(g_20, 7))
+ { /* block id: 20 */
+ union U0 l_43[1][9][2] = {{{{-6L},{0xEAL}},{{0x1EL},{-2L}},{{0x1EL},{0xEAL}},{{-6L},{-6L}},{{0xEAL},{0x1EL}},{{-2L},{0x1EL}},{{0xEAL},{-6L}},{{-6L},{0xEAL}},{{0x1EL},{-2L}}}};
+ int32_t *l_2652 = &g_4[4];
+ uint64_t *l_2654 = &g_132;
+ const uint32_t *l_3095 = &g_254;
+ const uint32_t **l_3094[8][7] = {{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095},{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095},{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095},{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095},{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095},{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095},{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095},{&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095,&l_3095}};
+ uint16_t **l_3114 = &g_643;
+ uint16_t ***l_3115 = &g_642;
+ uint16_t ***l_3117 = (void*)0;
+ uint16_t ***l_3118 = &l_3114;
+ int i, j, k;
+ }
+ return (**l_3091);
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_642 g_643 g_177 g_209.f2 g_2193.f0 g_1739 g_384 g_1585 g_127 g_128 g_409 g_983 g_130 g_1175 g_999 g_1000 g_20 g_2620 g_2621 g_2622 g_267 g_268 g_4 g_135 g_2193.f1 g_1738 g_147 g_78 g_458.f2 g_1679 g_2866 g_159 g_888 g_276 g_277 g_2033 g_67 g_2895 g_2797 g_2632 g_380 g_1701 g_132 g_2307 g_1574 g_254 g_209.f3 g_2980 g_458.f3 g_2193.f3 g_458.f0 g_2978 g_206 g_1567 g_1568 g_1569 g_708
+ * writes: g_647 g_209.f2 g_384 g_2193.f0 g_2193.f2 g_177 g_1000 g_268 g_383 g_78 g_1744 g_458.f2 g_130 g_1567 g_1679 g_1585 g_128 g_253 g_2895 g_254 g_132 g_209.f3 g_2978 g_2797 g_4 g_458.f3 g_2193.f3 g_67 g_206 g_1569 g_2033 g_708 g_457
+ */
+static uint64_t func_34(int32_t p_35, uint64_t p_36, int8_t p_37, int32_t * p_38)
+{ /* block id: 1210 */
+ uint32_t l_2659 = 0xE6BBA822L;
+ const uint32_t *l_2661 = &l_2659;
+ const uint32_t **l_2660 = &l_2661;
+ uint32_t ***l_2662 = &g_647[5][0];
+ union U0 l_2663[9][8][3] = {{{{0L},{0L},{0x70L}},{{1L},{-1L},{-4L}},{{-1L},{1L},{0x3EL}},{{1L},{0xBEL},{5L}},{{-1L},{0L},{0L}},{{0x45L},{-5L},{0x45L}},{{-1L},{0x70L},{0x62L}},{{7L},{0x50L},{0x60L}}},{{{1L},{7L},{0x69L}},{{0x43L},{8L},{-6L}},{{1L},{-5L},{-2L}},{{7L},{0x19L},{0L}},{{-1L},{0L},{0x60L}},{{0x45L},{0x70L},{0x37L}},{{-1L},{-1L},{-1L}},{{1L},{-1L},{0x0BL}}},{{{8L},{0x70L},{-6L}},{{-1L},{0L},{5L}},{{-9L},{0x19L},{0x69L}},{{0x60L},{-5L},{-1L}},{{0x45L},{8L},{1L}},{{7L},{7L},{-1L}},{{-1L},{0x50L},{0x69L}},{{0L},{0x70L},{5L}}},{{{0x37L},{-5L},{-6L}},{{-9L},{0L},{0x0BL}},{{-1L},{0xBEL},{-1L}},{{-1L},{-1L},{0x37L}},{{-9L},{7L},{0x60L}},{{0x37L},{-1L},{0L}},{{0L},{8L},{-2L}},{{-1L},{0xBEL},{-6L}}},{{{7L},{-1L},{0x69L}},{{0x45L},{0xBEL},{0x60L}},{{0x60L},{8L},{0x62L}},{{-9L},{-1L},{0x45L}},{{-1L},{7L},{0L}},{{8L},{-1L},{5L}},{{1L},{0xBEL},{5L}},{{-1L},{0L},{0L}}},{{{0x45L},{-5L},{0x45L}},{{-1L},{0x70L},{0x62L}},{{7L},{0x50L},{0x60L}},{{1L},{7L},{0x69L}},{{0x43L},{8L},{-6L}},{{1L},{-5L},{-2L}},{{7L},{0x19L},{0L}},{{-1L},{0L},{0x60L}}},{{{0x45L},{0x70L},{0x37L}},{{-1L},{-1L},{-1L}},{{1L},{-1L},{0x0BL}},{{8L},{0x70L},{-6L}},{{-1L},{0L},{5L}},{{-9L},{0x19L},{0x69L}},{{0x60L},{-5L},{-1L}},{{0x45L},{8L},{1L}}},{{{7L},{7L},{-1L}},{{-1L},{0x50L},{0x69L}},{{0L},{0x70L},{5L}},{{0x37L},{-5L},{-6L}},{{-9L},{0L},{0x0BL}},{{-1L},{0xBEL},{-1L}},{{-1L},{-1L},{0x37L}},{{-9L},{7L},{0x60L}}},{{{0x37L},{-1L},{0L}},{{0L},{8L},{-2L}},{{-1L},{-1L},{0xD9L}},{{-1L},{0x69L},{7L}},{{-1L},{-1L},{8L}},{{8L},{-1L},{1L}},{{0x42L},{8L},{-1L}},{{0x73L},{0L},{-1L}}}};
+ int32_t ****l_2677[8];
+ int32_t *****l_2676[1][1];
+ uint64_t ****l_2686 = &g_1568[4][1];
+ uint16_t ***l_2785 = &g_642;
+ uint16_t *** const *l_2784 = &l_2785;
+ uint32_t ****l_2874 = &g_1926[0];
+ uint32_t *****l_2873[9][1] = {{(void*)0},{&l_2874},{(void*)0},{&l_2874},{(void*)0},{&l_2874},{(void*)0},{&l_2874},{(void*)0}};
+ int8_t *l_2888[5][6] = {{(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}};
+ union U0 **l_2893[8] = {&g_457,&g_457,&g_457,&g_457,&g_457,&g_457,&g_457,&g_457};
+ int64_t l_3030 = 6L;
+ uint32_t l_3043 = 1UL;
+ uint64_t l_3070[3];
+ int8_t l_3080 = 0x9DL;
+ int i, j, k;
+ for (i = 0; i < 8; i++)
+ l_2677[i] = &g_1175;
+ for (i = 0; i < 1; i++)
+ {
+ for (j = 0; j < 1; j++)
+ l_2676[i][j] = &l_2677[1];
+ }
+ for (i = 0; i < 3; i++)
+ l_3070[i] = 0xA9198D57D8E9CE12LL;
+ if ((safe_sub_func_int32_t_s_s(((p_37 <= (l_2659 >= (l_2659 , (l_2660 != ((*l_2662) = &g_648))))) == (p_37 | ((((l_2663[5][6][0] , (0UL ^ (safe_add_func_uint16_t_u_u(65527UL, l_2659)))) || 255UL) > 0xD69664490FDEA123LL) , (**g_642)))), p_36)))
+ { /* block id: 1212 */
+ uint32_t l_2678 = 0xD9A0AAF9L;
+ int32_t l_2679 = 0xD6B89FB5L;
+ int32_t l_2729 = 0xEED0CCDFL;
+ int32_t l_2765 = (-4L);
+ int32_t l_2768[6][4][2] = {{{0L,0x5E79F3B8L},{0x77FE2768L,8L},{0x78A14A41L,8L},{0x77FE2768L,0x5E79F3B8L}},{{0L,0x35D21069L},{0L,0x5E79F3B8L},{0x77FE2768L,8L},{0x78A14A41L,8L}},{{0x77FE2768L,0x5E79F3B8L},{0L,0x35D21069L},{0L,0x5E79F3B8L},{0x77FE2768L,8L}},{{0x78A14A41L,8L},{0x77FE2768L,0x5E79F3B8L},{0L,0x35D21069L},{0L,0x5E79F3B8L}},{{0x77FE2768L,8L},{0x78A14A41L,8L},{0x77FE2768L,0x5E79F3B8L},{0L,0x35D21069L}},{{0L,0x5E79F3B8L},{0x77FE2768L,8L},{0x78A14A41L,8L},{0x77FE2768L,0x5E79F3B8L}}};
+ uint64_t ****l_2800 = &g_1568[4][0];
+ int64_t *l_2804 = &g_253;
+ uint16_t l_2820[8] = {0x422DL,65530UL,65530UL,0x422DL,65530UL,65530UL,0x422DL,65530UL};
+ uint32_t l_2877 = 0x2C8835BCL;
+ int16_t l_2914 = 0x56BAL;
+ uint16_t *** const **l_2979 = &l_2784;
+ int64_t l_3041[4];
+ int16_t *l_3062 = &g_384;
+ int32_t *l_3075 = &g_2033[0];
+ int i, j, k;
+ for (i = 0; i < 4; i++)
+ l_3041[i] = 0xDC70C96AD5BD10D0LL;
+ for (g_209.f2 = 0; (g_209.f2 > 21); g_209.f2 = safe_add_func_int64_t_s_s(g_209.f2, 4))
+ { /* block id: 1215 */
+ const int32_t *l_2672 = (void*)0;
+ union U0 l_2673 = {4L};
+ int32_t l_2736 = 0L;
+ union U0 ** const l_2753[9][8][3] = {{{(void*)0,&g_457,&g_457},{&g_457,(void*)0,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,&g_457},{(void*)0,(void*)0,&g_457},{&g_457,(void*)0,&g_457},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457}},{{(void*)0,&g_457,&g_457},{&g_457,(void*)0,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,&g_457},{(void*)0,(void*)0,&g_457},{&g_457,(void*)0,&g_457},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457}},{{(void*)0,&g_457,&g_457},{&g_457,(void*)0,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,&g_457},{(void*)0,(void*)0,&g_457},{&g_457,(void*)0,&g_457},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457}},{{&g_457,&g_457,(void*)0},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,(void*)0},{&g_457,(void*)0,&g_457},{&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457}},{{&g_457,&g_457,(void*)0},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,(void*)0},{&g_457,(void*)0,&g_457},{&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457}},{{&g_457,&g_457,(void*)0},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,(void*)0},{&g_457,(void*)0,&g_457},{&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457}},{{&g_457,&g_457,(void*)0},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,(void*)0},{&g_457,(void*)0,&g_457},{&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457}},{{&g_457,&g_457,(void*)0},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,(void*)0},{&g_457,(void*)0,&g_457},{&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457}},{{&g_457,&g_457,(void*)0},{&g_457,(void*)0,(void*)0},{&g_457,&g_457,&g_457},{&g_457,&g_457,(void*)0},{&g_457,&g_457,(void*)0},{&g_457,(void*)0,&g_457},{&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457}}};
+ int16_t l_2816 = 9L;
+ int32_t ****l_2824[10][1] = {{&g_1175},{&g_1175},{&g_1175},{&g_1175},{&g_1175},{&g_1175},{&g_1175},{&g_1175},{&g_1175},{&g_1175}};
+ int i, j, k;
+ if ((safe_mul_func_uint8_t_u_u(0xE0L, l_2659)))
+ { /* block id: 1216 */
+ int32_t *****l_2674 = (void*)0;
+ int32_t l_2735 = 1L;
+ union U0 *l_2739[5][7] = {{&l_2673,&g_458,&l_2673,&g_458,&l_2673,&g_458,&l_2673},{&g_458,&g_458,&g_458,&g_458,&g_458,&g_458,&g_458},{(void*)0,&g_458,(void*)0,&g_458,(void*)0,&g_458,(void*)0},{&g_458,&g_458,&g_458,&g_458,&g_458,&g_458,&g_458},{&l_2673,&g_458,&l_2673,&g_458,&l_2673,&g_458,&l_2673}};
+ int32_t l_2763[5][10] = {{6L,0x397EDD9EL,0x5DA38F3AL,0x1FBBC128L,(-8L),1L,1L,0x4CB10F04L,1L,1L},{0x38C35325L,8L,0xA33152A2L,8L,0x38C35325L,0x1FBBC128L,1L,0xB1074C35L,0x02D6F10EL,0x264D6A40L},{0x1FBBC128L,1L,0xB1074C35L,0x02D6F10EL,0x264D6A40L,6L,0L,0L,6L,0x264D6A40L},{0xA33152A2L,0x02D6F10EL,0x02D6F10EL,0xA33152A2L,0x38C35325L,0x397EDD9EL,0x5DA38F3AL,0x1FBBC128L,(-8L),1L},{0x99EB6806L,0x38C35325L,0x4472C795L,6L,(-8L),0x5DA38F3AL,0x02D6F10EL,0x5DA38F3AL,(-8L),6L}};
+ int32_t *l_2773 = &l_2735;
+ union U0 l_2802[3] = {{0x44L},{0x44L},{0x44L}};
+ int64_t * const l_2803 = &g_128[0][3][1];
+ int i, j;
+ for (g_384 = 0; (g_384 >= (-27)); g_384 = safe_sub_func_int8_t_s_s(g_384, 9))
+ { /* block id: 1219 */
+ int32_t ******l_2675[7];
+ int16_t *l_2702 = &g_2193.f2;
+ int16_t ***l_2705 = (void*)0;
+ union U0 l_2712[6] = {{-1L},{-1L},{-1L},{-1L},{-1L},{-1L}};
+ int32_t *l_2727[10] = {&g_67[1],&g_67[1],&g_67[1],&g_67[1],&g_67[1],&g_67[1],&g_67[1],&g_67[1],&g_67[1],&g_67[1]};
+ int64_t ***l_2734 = (void*)0;
+ int i;
+ for (i = 0; i < 7; i++)
+ l_2675[i] = &l_2674;
+ l_2679 |= (l_2673 , (p_35 = ((&g_2620 != (l_2676[0][0] = l_2674)) , l_2678)));
+ for (g_2193.f0 = (-14); (g_2193.f0 > (-17)); g_2193.f0 = safe_sub_func_uint32_t_u_u(g_2193.f0, 3))
+ { /* block id: 1225 */
+ uint16_t l_2695 = 65529UL;
+ p_35 = (safe_mul_func_int8_t_s_s(p_36, ((p_36 && ((safe_lshift_func_int16_t_s_u((*g_1739), 11)) <= (!g_1585))) || (l_2686 == ((safe_rshift_func_int16_t_s_u(((1L & (0x875FC4C2A9E98904LL >= (*g_127))) && (safe_mul_func_int16_t_s_s((safe_rshift_func_uint8_t_u_s((((1L ^ 0x59L) != g_409[0][0]) & l_2679), 5)), p_35))), 10)) , &g_1568[4][1])))));
+ return l_2695;
+ }
+ if ((safe_rshift_func_int16_t_s_u(((*l_2702) = (safe_rshift_func_int8_t_s_s(p_35, (safe_sub_func_int64_t_s_s(p_35, 0xD0504981CA921F75LL))))), 8)))
+ { /* block id: 1230 */
+ uint64_t *****l_2723 = &l_2686;
+ uint64_t *****l_2725 = &l_2686;
+ uint64_t ******l_2724 = &l_2725;
+ const int32_t l_2726 = 0x5342A3C5L;
+ int32_t l_2728 = (-1L);
+ int8_t l_2730[2][2] = {{0xAAL,0xAAL},{0xAAL,0xAAL}};
+ int i, j;
+ l_2728 ^= (((safe_lshift_func_int8_t_s_s(1L, 2)) ^ ((l_2705 == (((((safe_div_func_int64_t_s_s((safe_add_func_uint16_t_u_u((~((**g_642) = 5UL)), ((-1L) | (p_37 && (255UL ^ (safe_div_func_uint16_t_u_u((l_2712[4] , (safe_rshift_func_int8_t_s_u((safe_lshift_func_int16_t_s_s((safe_lshift_func_int16_t_s_s((((safe_mod_func_uint32_t_u_u((safe_mul_func_uint16_t_u_u((l_2723 != ((*l_2724) = (void*)0)), (*g_1739))), p_37)) | p_35) == p_35), 7)), l_2726)), (*g_983)))), 0xB71CL))))))), (*g_127))) , (void*)0) != l_2727[5]) || 0x8EL) , (void*)0)) >= (*g_1739))) , (***g_1175));
+ if ((****g_2620))
+ break;
+ l_2730[1][1] = l_2729;
+ }
+ else
+ { /* block id: 1236 */
+ return p_37;
+ }
+ if ((safe_lshift_func_uint16_t_u_u(((((*l_2702) = 0L) != p_36) | p_37), 7)))
+ { /* block id: 1240 */
+ uint32_t l_2733 = 0x82ED76E6L;
+ l_2733 = (-1L);
+ }
+ else
+ { /* block id: 1242 */
+ l_2735 &= (l_2734 == l_2734);
+ }
+ }
+ l_2736 |= (**g_267);
+ if ((safe_add_func_uint8_t_u_u((l_2736 = ((void*)0 == l_2739[3][2])), p_35)))
+ { /* block id: 1248 */
+ uint16_t l_2740 = 1UL;
+ int32_t l_2761 = (-6L);
+ int32_t l_2762 = 0x8DFA1675L;
+ int32_t l_2766 = (-5L);
+ uint32_t l_2770[4] = {0UL,0UL,0UL,0UL};
+ int i;
+ ++l_2740;
+ for (l_2740 = 27; (l_2740 != 5); l_2740 = safe_sub_func_uint16_t_u_u(l_2740, 2))
+ { /* block id: 1252 */
+ int16_t l_2760[10];
+ int32_t l_2764 = 6L;
+ int32_t l_2769[3];
+ int i;
+ for (i = 0; i < 10; i++)
+ l_2760[i] = (-8L);
+ for (i = 0; i < 3; i++)
+ l_2769[i] = (-6L);
+ (**g_1175) = &l_2736;
+ --l_2770[2];
+ (*g_999) = (void*)0;
+ return l_2760[2];
+ }
+ }
+ else
+ { /* block id: 1261 */
+ uint32_t l_2796 = 9UL;
+ int32_t *l_2798[5] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
+ int i;
+ if ((*g_268))
+ { /* block id: 1262 */
+ uint16_t *** const **l_2786 = &l_2784;
+ int32_t l_2795 = 0x7599A3ABL;
+ uint64_t ****l_2799 = &g_1568[4][0];
+ int16_t *l_2801 = &l_2673.f2;
+ if (p_37)
+ break;
+ l_2773 = ((*g_999) = (*g_999));
+ (*g_267) = func_99(p_36, ((*l_2801) = (p_37 > (safe_mul_func_uint16_t_u_u(((((safe_rshift_func_uint16_t_u_s((0xA7D8L | 0x13AAL), (((safe_sub_func_uint16_t_u_u((((p_36 < (((p_35 , (***g_2620)) != (void*)0) & p_37)) | p_35) > p_35), p_36)) , l_2799) != l_2800))) || p_35) < (**g_999)) , 0x0759L), p_37)))), l_2802[1], l_2803, l_2804);
+ (*g_999) = (*g_999);
+ }
+ else
+ { /* block id: 1271 */
+ int32_t *l_2805 = &g_4[3];
+ int32_t l_2819 = 0x77B6F82EL;
+ uint8_t *l_2821 = &g_183;
+ int16_t *l_2822 = &g_383;
+ int32_t ****l_2823 = &g_1175;
+ (*g_999) = &p_35;
+ (**g_999) |= (p_37 , 0xFCBABA69L);
+ (***g_1175) = (((*g_1739) >= ((&g_2630[1] == (void*)0) ^ (l_2820[0] & ((((p_37 && ((((*l_2822) = ((void*)0 == l_2821)) , ((l_2823 = &g_1175) == l_2824[5][0])) || (****l_2823))) >= (*g_1739)) ^ 1UL) == l_2678)))) >= 0xCDL);
+ return p_35;
+ }
+ for (g_2193.f0 = 4; (g_2193.f0 == (-22)); g_2193.f0 = safe_sub_func_int16_t_s_s(g_2193.f0, 1))
+ { /* block id: 1283 */
+ return p_37;
+ }
+ return p_37;
+ }
+ }
+ else
+ { /* block id: 1288 */
+ uint8_t l_2841 = 255UL;
+ int32_t l_2855 = 0x59A23047L;
+ for (g_2193.f0 = 0; (g_2193.f0 <= 2); g_2193.f0 += 1)
+ { /* block id: 1291 */
+ const int32_t *l_2842 = &g_135;
+ const uint64_t *l_2844 = (void*)0;
+ const uint64_t **l_2843 = &l_2844;
+ int32_t *l_2857 = &l_2736;
+ int i;
+ for (g_78 = 0; (g_78 <= 8); g_78 += 1)
+ { /* block id: 1294 */
+ uint16_t l_2827 = 7UL;
+ int32_t l_2830 = 0xE016D88CL;
+ l_2827++;
+ l_2830 &= (-1L);
+ }
+ if (((safe_rshift_func_uint16_t_u_s(l_2820[(g_2193.f0 + 1)], (safe_add_func_uint16_t_u_u((l_2663[7][2][0] , (*l_2842)), p_36)))) | 0xBE527B2BDF448059LL))
+ { /* block id: 1299 */
+ int8_t l_2856 = 0x29L;
+ (*g_999) = func_57((*g_999), ((l_2843 == (void*)0) , ((safe_mod_func_uint8_t_u_u((safe_add_func_int8_t_s_s(((((safe_div_func_uint8_t_u_u((safe_mod_func_uint32_t_u_u((l_2768[3][3][1] = ((safe_add_func_uint8_t_u_u(((void*)0 != &l_2800), (p_36 , (p_37 > ((((p_35 ^ 0xB492343EL) > l_2855) || p_36) | l_2856))))) == (****g_2620))), p_36)), g_2193.f1)) && 0xE3L) && (*l_2842)) < 0xE6DA936EL), (*g_983))), 0x29L)) , (void*)0)), (*g_999), (*l_2842), l_2857);
+ }
+ else
+ { /* block id: 1302 */
+ return l_2855;
+ }
+ }
+ p_35 = (**g_999);
+ }
+ for (g_1585 = 26; (g_1585 > 26); g_1585++)
+ { /* block id: 1310 */
+ l_2768[5][3][0] ^= 0x7E03A76CL;
+ }
+ }
+ if ((safe_sub_func_uint8_t_u_u((*g_983), (((safe_sub_func_uint16_t_u_u((safe_mod_func_int16_t_s_s(g_2866, ((((safe_rshift_func_uint8_t_u_u(0x04L, 0)) , (((safe_mul_func_int8_t_s_s((!(((safe_rshift_func_uint8_t_u_u(p_37, p_35)) || ((((l_2873[7][0] == &l_2874) , (p_36 > (p_35 > g_159))) || (****g_2620)) != p_36)) , 0x8FL)), p_37)) , 0xC51F7467L) <= p_35)) , p_36) & p_37))), (*g_643))) && p_36) == g_888))))
+ { /* block id: 1314 */
+ int32_t l_2875 = 0x072117A4L;
+ int16_t *l_2876 = &l_2663[5][6][0].f2;
+ int32_t l_2896 = 0x3B26EDE4L;
+ uint8_t l_2905 = 0xBBL;
+ int32_t l_2925 = 0xF4C5A4F9L;
+ uint64_t *l_2935 = &g_132;
+ uint64_t ****l_3012[7];
+ int32_t l_3036 = 0x9F84FF97L;
+ int32_t l_3037[3];
+ int i;
+ for (i = 0; i < 7; i++)
+ l_3012[i] = (void*)0;
+ for (i = 0; i < 3; i++)
+ l_3037[i] = 0x4970F08FL;
+ if ((((l_2877 = ((((*l_2876) = l_2875) & (((***g_276) = p_35) > 0x1D03E76480D707F5LL)) && (-7L))) | ((((safe_mul_func_uint8_t_u_u((safe_lshift_func_uint16_t_u_u(((((*l_2804) = (0x9B49AC22L < l_2820[0])) != 18446744073709551615UL) > ((((*g_983) = (safe_mul_func_uint16_t_u_u(65535UL, l_2875))) , 0x307F9F6FL) == 0x9122E523L)), 2)), 247UL)) > 0L) <= 0xD0L) ^ (-6L))) > p_36))
+ { /* block id: 1320 */
+ int8_t *l_2889 = &g_458.f1;
+ int32_t l_2892 = 8L;
+ int64_t *l_2899 = &g_91;
+ int16_t ***l_2923 = &g_2230;
+ int32_t l_2924 = 4L;
+ int32_t l_2936 = 1L;
+ int32_t l_2940 = 1L;
+ for (g_458.f2 = 0; (g_458.f2 <= 1); g_458.f2 += 1)
+ { /* block id: 1323 */
+ union U0 l_2897 = {0x8FL};
+ int64_t * const l_2898 = (void*)0;
+ int16_t l_2926 = 0xAAA4L;
+ int16_t *l_2937 = &g_2193.f2;
+ int16_t *l_2938[10][6] = {{(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},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}};
+ int32_t l_2939 = 0x635F255EL;
+ const int16_t ** const *l_2964[8][6][5] = {{{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][6],(void*)0,&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[2][0][5],&g_1738[0][0][0],&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[0][0][2],(void*)0,&g_1738[2][0][6],&g_1738[0][0][1]},{&g_1738[1][0][2],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][0],&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[0][0][1],(void*)0,(void*)0,&g_1738[0][0][2]},{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][5],&g_1738[0][0][0],&g_1738[0][0][1]}},{{&g_1738[0][0][1],&g_1738[0][0][2],&g_1738[2][0][6],&g_1738[2][0][6],&g_1738[0][0][2]},{&g_1738[1][0][2],&g_1738[2][0][0],&g_1738[0][0][1],&g_1738[0][0][0],&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][6],(void*)0,&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[2][0][5],&g_1738[0][0][0],&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][2],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][3]}},{{&g_1738[1][0][4],&g_1738[1][0][2],&g_1738[2][0][2],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][1]},{&g_1738[1][0][4],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][3]},{&g_1738[0][0][1],&g_1738[1][0][2],&g_1738[0][0][1],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]}},{{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][2],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][3]},{&g_1738[1][0][4],&g_1738[1][0][2],&g_1738[2][0][2],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][1]},{&g_1738[1][0][4],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][3]}},{{&g_1738[0][0][1],&g_1738[1][0][2],&g_1738[0][0][1],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][2],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][3]},{&g_1738[1][0][4],&g_1738[1][0][2],&g_1738[2][0][2],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][1]}},{{&g_1738[1][0][4],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][3]},{&g_1738[0][0][1],&g_1738[1][0][2],&g_1738[0][0][1],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]},{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][2],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][3]}},{{&g_1738[1][0][4],&g_1738[1][0][2],&g_1738[2][0][2],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][1]},{&g_1738[1][0][4],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][3]},{&g_1738[0][0][1],&g_1738[1][0][2],&g_1738[0][0][1],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]}},{{&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][2],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][3]},{&g_1738[1][0][4],&g_1738[1][0][2],&g_1738[2][0][2],&g_1738[0][0][2],&g_1738[0][0][1]},{&g_1738[0][0][5],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][1]},{&g_1738[1][0][4],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[0][0][1]},{(void*)0,&g_1738[0][0][1],&g_1738[0][0][1],&g_1738[2][0][0],&g_1738[0][0][3]}}};
+ int32_t ****l_2977 = (void*)0;
+ int i, j, k;
+ if ((safe_add_func_uint64_t_u_u(g_2033[(g_458.f2 + 2)], (g_67[g_458.f2] | g_2033[(g_458.f2 + 2)]))))
+ { /* block id: 1324 */
+ int16_t *l_2894[5][3];
+ int i, j;
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 3; j++)
+ l_2894[i][j] = (void*)0;
+ }
+ (*g_267) = func_99((l_2888[4][1] == l_2889), (l_2896 |= (p_36 ^ (((void*)0 == (*g_2621)) <= (g_2895 |= (((((l_2765 <= l_2892) , (void*)0) == l_2893[1]) <= l_2875) , p_36))))), l_2897, l_2898, l_2899);
+ l_2924 ^= (safe_sub_func_uint16_t_u_u((safe_add_func_int64_t_s_s((safe_unary_minus_func_uint32_t_u(p_35)), (((((l_2905 , (p_37 > (l_2892 , p_37))) , (safe_lshift_func_int8_t_s_u((p_37 = ((safe_div_func_uint32_t_u_u((safe_mul_func_int16_t_s_s((safe_sub_func_int16_t_s_s(((l_2765 ^= l_2914) | ((g_2797 > ((((safe_mod_func_uint64_t_u_u(l_2679, (safe_lshift_func_uint8_t_u_s((safe_div_func_int8_t_s_s((l_2923 != (void*)0), l_2892)), p_35)))) <= 0L) != (-6L)) != 18446744073709551615UL)) && p_37)), l_2897.f1)), 0UL)), p_37)) < p_37)), 2))) ^ (*g_2632)) ^ (**g_2622)) , p_36))), 0L));
+ l_2925 |= l_2896;
+ }
+ else
+ { /* block id: 1332 */
+ return p_35;
+ }
+ if ((l_2940 = ((l_2892 = (l_2926 = ((*g_1701) = p_36))) != (safe_mul_func_int16_t_s_s(((safe_rshift_func_int16_t_s_s(((g_384 ^= (safe_lshift_func_uint8_t_u_u((safe_add_func_int8_t_s_s(((p_37 , l_2935) == (void*)0), (l_2936 = (l_2924 = g_128[0][2][0])))), 7))) || (0x8B05L < (l_2939 &= p_35))), l_2940)) , (((++(*l_2935)) > p_37) , l_2877)), l_2925)))))
+ { /* block id: 1344 */
+ const int16_t l_2973 = (-1L);
+ l_2939 = (***g_1175);
+ l_2940 = l_2940;
+ l_2679 &= (safe_mul_func_int8_t_s_s((g_209.f3 &= ((safe_lshift_func_int8_t_s_s((!((safe_add_func_uint64_t_u_u(l_2936, ((*l_2935) = (((safe_mul_func_int16_t_s_s((((safe_lshift_func_int16_t_s_s((safe_add_func_int32_t_s_s((l_2875 , (safe_sub_func_int8_t_s_s(p_37, (safe_mod_func_uint8_t_u_u((l_2896 |= (!((safe_unary_minus_func_uint32_t_u((((safe_sub_func_int8_t_s_s((safe_sub_func_uint16_t_u_u((0UL && ((p_35 <= ((l_2964[2][0][4] = &g_1744) == &g_2230)) && ((safe_div_func_uint64_t_u_u(((safe_div_func_uint8_t_u_u(((((safe_div_func_int16_t_s_s((safe_mul_func_uint16_t_u_u(0xA02BL, (((((***g_276) = ((&l_2804 == (*g_276)) >= p_36)) >= 18446744073709551613UL) , p_37) >= l_2925))), p_35)) == p_36) | g_2307) > (**g_2622)), l_2905)) & 248UL), p_36)) || 0xE419L))), (**g_1574))), p_36)) <= (-6L)) > l_2973))) ^ 0xA2D2L))), p_35))))), (*g_1701))), p_36)) <= 0x9B4DL) , p_37), 0x744CL)) >= (-1L)) ^ (*g_1000))))) && 0x21C8L)), 2)) > 0xFECFL)), g_4[3]));
+ if (l_2729)
+ break;
+ }
+ else
+ { /* block id: 1354 */
+ int16_t l_2974 = 0xDE74L;
+ if (l_2974)
+ break;
+ (*g_267) = &p_35;
+ g_1679 |= 0xE00E2B68L;
+ l_2925 ^= (safe_mul_func_int8_t_s_s(1L, (((l_2977 == (g_2978 = (void*)0)) , l_2979) != g_2980)));
+ }
+ for (g_2797 = 0; (g_2797 <= 9); g_2797 += 1)
+ { /* block id: 1363 */
+ int32_t l_2982 = 0L;
+ return l_2982;
+ }
+ }
+ l_2924 ^= (g_4[3] = p_36);
+ }
+ else
+ { /* block id: 1369 */
+ uint32_t l_2989[2];
+ uint32_t **l_2997 = &g_1701;
+ uint16_t l_3029 = 0x6DA0L;
+ int32_t *l_3032[6] = {&g_4[3],&g_4[3],&g_4[3],&g_4[3],&g_4[3],&g_4[3]};
+ int i;
+ for (i = 0; i < 2; i++)
+ l_2989[i] = 7UL;
+ for (g_458.f3 = 0; (g_458.f3 == 7); g_458.f3 = safe_add_func_int8_t_s_s(g_458.f3, 1))
+ { /* block id: 1372 */
+ uint8_t *l_2994 = &l_2905;
+ const int32_t l_2998[9] = {0xD7B4CD8BL,0xD7B4CD8BL,0xD7B4CD8BL,0xD7B4CD8BL,0xD7B4CD8BL,0xD7B4CD8BL,0xD7B4CD8BL,0xD7B4CD8BL,0xD7B4CD8BL};
+ int32_t l_3005 = 0xAAEA9947L;
+ int i;
+ p_35 = 0x8484AAF9L;
+ p_35 = (safe_rshift_func_int8_t_s_s((p_35 , ((-3L) & (safe_lshift_func_uint16_t_u_u((((!(0xD881L != l_2875)) ^ (l_2925 = (((*g_983) = (l_2989[1] | ((*g_983) == 0x98L))) != (safe_mul_func_int8_t_s_s((((*l_2994) = (0x948A6B78L < ((safe_mod_func_uint8_t_u_u(((***g_276) && 1L), l_2989[1])) >= 0L))) , 0x51L), l_2989[1]))))) & 0x515EFCB8L), 15)))), g_135));
+ l_3005 |= (p_35 = (((safe_lshift_func_uint16_t_u_u(((void*)0 == l_2997), l_2998[6])) & ((&g_277[0] == (void*)0) , (safe_rshift_func_uint16_t_u_s((l_2820[0] == ((**l_2997) = (safe_mul_func_int16_t_s_s((safe_add_func_int16_t_s_s(p_36, (l_2875 , (((void*)0 == &g_1744) | l_2989[1])))), p_36)))), 14)))) != l_2729));
+ for (l_2765 = 0; (l_2765 != 28); l_2765 = safe_add_func_uint32_t_u_u(l_2765, 1))
+ { /* block id: 1383 */
+ return p_35;
+ }
+ }
+ l_2679 = (safe_mul_func_uint8_t_u_u(0x51L, (p_37 &= (l_2925 = 0L))));
+ if ((safe_rshift_func_int8_t_s_s((&g_1568[0][2] != l_3012[4]), 6)))
+ { /* block id: 1390 */
+ int32_t l_3034 = (-1L);
+ int32_t l_3038[6] = {(-3L),(-3L),(-3L),(-3L),(-3L),(-3L)};
+ int32_t l_3039[2];
+ int32_t l_3040 = 1L;
+ int32_t l_3042 = 0x14408B26L;
+ int i;
+ for (i = 0; i < 2; i++)
+ l_3039[i] = (-1L);
+ for (g_2193.f3 = 0; (g_2193.f3 >= (-11)); --g_2193.f3)
+ { /* block id: 1393 */
+ const uint8_t l_3028 = 0UL;
+ int32_t *l_3031 = &g_67[3];
+ int32_t l_3033 = 0xC6523790L;
+ int32_t l_3035[1][8][9];
+ int i, j, k;
+ for (i = 0; i < 1; i++)
+ {
+ for (j = 0; j < 8; j++)
+ {
+ for (k = 0; k < 9; k++)
+ l_3035[i][j][k] = 1L;
+ }
+ }
+ (*g_267) = ((safe_add_func_uint16_t_u_u(((safe_unary_minus_func_uint16_t_u((p_37 , (l_2925 != (((*l_3031) = (safe_sub_func_uint8_t_u_u(((safe_mod_func_int64_t_s_s(((*g_127) = (p_35 > ((((p_35 & (safe_mod_func_uint8_t_u_u(((l_2905 ^ ((((safe_mul_func_uint16_t_u_u(0x8184L, ((*l_2876) = (*g_1739)))) && 2L) && ((((safe_mod_func_int64_t_s_s((l_3028 < 0xC09FFC866F9194E5LL), 1UL)) , l_3029) != p_36) ^ p_37)) != p_37)) == g_458.f0), l_2875))) >= (-10L)) < l_3029) & l_3030))), p_36)) == p_36), p_36))) , (*g_1739)))))) < p_35), 0x0B16L)) , (void*)0);
+ (*g_267) = (l_3032[3] = ((***g_2978) = (void*)0));
+ l_2896 |= (l_3033 = (7L && p_37));
+ ++l_3043;
+ }
+ for (g_206 = 0; (g_206 <= 45); g_206 = safe_add_func_uint64_t_u_u(g_206, 6))
+ { /* block id: 1407 */
+ return p_35;
+ }
+ }
+ else
+ { /* block id: 1410 */
+ (*g_267) = &l_2679;
+ }
+ }
+ for (g_458.f3 = 0; (g_458.f3 != 1); g_458.f3 = safe_add_func_int64_t_s_s(g_458.f3, 2))
+ { /* block id: 1416 */
+ return p_36;
+ }
+ }
+ else
+ { /* block id: 1419 */
+ (**l_2800) = (**g_1567);
+ return p_36;
+ }
+ l_2765 = ((0x31F40544L >= (p_35 = ((safe_add_func_int16_t_s_s(((*l_3062) &= p_36), ((g_708 ^= ((((*l_3075) = (0x9F19L | ((l_2679 = ((safe_unary_minus_func_uint16_t_u(p_35)) , (safe_add_func_int64_t_s_s(((safe_mod_func_int32_t_s_s(l_2820[3], ((safe_div_func_uint32_t_u_u(p_35, p_35)) , (~(l_3070[1] & ((safe_rshift_func_int8_t_s_s(((safe_lshift_func_int8_t_s_u((-10L), p_37)) , (-1L)), p_35)) >= 65526UL)))))) == l_2765), p_35)))) | 0xCFL))) , l_2765) | p_37)) | 0UL))) , p_37))) , 1L);
+ }
+ else
+ { /* block id: 1429 */
+ int32_t l_3076 = 5L;
+ int32_t l_3077 = 0x01390D7CL;
+ int32_t l_3078 = 1L;
+ int32_t l_3079[10][1][4];
+ uint16_t l_3081 = 0xC356L;
+ uint32_t **l_3084[2];
+ union U0 *l_3085 = (void*)0;
+ int i, j, k;
+ for (i = 0; i < 10; i++)
+ {
+ for (j = 0; j < 1; j++)
+ {
+ for (k = 0; k < 4; k++)
+ l_3079[i][j][k] = 0x2CFC8E74L;
+ }
+ }
+ for (i = 0; i < 2; i++)
+ l_3084[i] = &g_1701;
+ l_3081--;
+ g_457 = (((void*)0 == l_3084[0]) , l_3085);
+ }
+ return p_36;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_983 g_130 g_384 g_999 g_1000 g_2497 g_1700 g_1701 g_209.f0 g_648 g_258 g_1175 g_20 g_276 g_277 g_127 g_2620 g_2621 g_2622 g_2630 g_1739 g_458.f2 g_206 g_128 g_2648
+ * writes: g_384 g_130 g_1000 g_2497 g_254 g_209.f0 g_128 g_408 g_2630 g_2648
+ */
+static union U0 func_48(int32_t * p_49, int32_t p_50)
+{ /* block id: 1167 */
+ int32_t l_2545 = (-1L);
+ int32_t l_2546 = 0x87F12CDAL;
+ const int16_t **l_2547[4];
+ int16_t *l_2558[1];
+ int16_t **l_2559 = &l_2558[0];
+ const int16_t *l_2560 = &g_383;
+ int16_t *l_2561 = &g_384;
+ int32_t l_2571 = 9L;
+ uint32_t l_2588 = 18446744073709551615UL;
+ int32_t l_2634 = 0x6D47EBBBL;
+ int32_t l_2639 = 0xC7967847L;
+ int32_t l_2640 = 0L;
+ int32_t l_2641[7][10] = {{(-5L),(-1L),0xF1BE8DC3L,0x401C4A67L,0x401C4A67L,0xF1BE8DC3L,(-1L),(-5L),(-1L),0xF1BE8DC3L},{0xE0B57CFEL,(-10L),0x401C4A67L,(-10L),0xE0B57CFEL,0xF1BE8DC3L,0xF1BE8DC3L,0xE0B57CFEL,(-10L),0x401C4A67L},{(-5L),(-5L),0x401C4A67L,0xE0B57CFEL,0x010A09B7L,0xE0B57CFEL,0x401C4A67L,(-5L),(-5L),0x401C4A67L},{(-10L),0xE0B57CFEL,0xF1BE8DC3L,0xF1BE8DC3L,0xE0B57CFEL,(-10L),0x401C4A67L,(-10L),0xE0B57CFEL,0xF1BE8DC3L},{(-1L),(-5L),(-1L),0xF1BE8DC3L,0x401C4A67L,0x401C4A67L,0xF1BE8DC3L,(-1L),(-5L),(-1L)},{(-1L),(-10L),(-5L),0xE0B57CFEL,(-5L),(-10L),(-1L),(-1L),(-10L),(-5L)},{(-10L),(-1L),(-1L),(-10L),(-5L),0xE0B57CFEL,(-5L),(-10L),(-1L),(-1L)}};
+ int32_t l_2646 = 0xAB5CC4D6L;
+ union U0 l_2651[8] = {{0L},{0L},{0L},{0L},{0L},{0L},{0L},{0L}};
+ int i, j;
+ for (i = 0; i < 4; i++)
+ l_2547[i] = &g_1739;
+ for (i = 0; i < 1; i++)
+ l_2558[i] = &g_408;
+ if ((safe_div_func_int16_t_s_s((l_2545 != l_2545), (6L && (((p_50 | l_2546) > (((l_2547[1] == (void*)0) >= ((safe_lshift_func_uint8_t_u_u(p_50, 0)) ^ ((*l_2561) ^= (safe_add_func_uint16_t_u_u((safe_div_func_int8_t_s_s((safe_lshift_func_uint16_t_u_s((safe_add_func_int16_t_s_s((((*l_2559) = l_2558[0]) == l_2560), 0xD0D4L)), l_2545)), (*g_983))), l_2545))))) , l_2546)) , p_50)))))
+ { /* block id: 1170 */
+ const int32_t l_2566 = 0x8C4F6DEDL;
+ int8_t *l_2569 = &g_458.f3;
+ int64_t ***l_2570 = &g_277[0];
+ union U0 l_2574 = {0x6BL};
+ (*p_49) |= 8L;
+ (*p_49) &= (safe_mod_func_uint16_t_u_u(0x825FL, ((((safe_div_func_uint64_t_u_u(p_50, l_2566)) != ((*g_983)++)) <= (((1L ^ l_2546) ^ ((((l_2571 |= (((((((void*)0 != l_2569) , l_2570) != l_2570) & 0x08L) ^ p_50) | 1UL)) && l_2566) < 0UL) , p_50)) , l_2566)) & p_50)));
+ (*g_999) = (*g_999);
+ for (g_2497 = (-22); (g_2497 <= 51); g_2497 = safe_add_func_uint16_t_u_u(g_2497, 6))
+ { /* block id: 1178 */
+ return l_2574;
+ }
+ }
+ else
+ { /* block id: 1181 */
+ const int16_t *l_2579 = &g_383;
+ int16_t ****l_2580 = (void*)0;
+ int16_t ***l_2582[8] = {&l_2559,&g_2230,&g_2230,&l_2559,&g_2230,&g_2230,&l_2559,&g_2230};
+ int16_t ****l_2581 = &l_2582[4];
+ int32_t l_2587 = 0x3DDB5117L;
+ int32_t l_2589 = 0x0C8D3A4BL;
+ union U0 * const l_2613 = &g_2193;
+ int32_t * const ***l_2623 = &g_2621;
+ int32_t l_2637 = 0x562CC356L;
+ int32_t l_2638 = (-2L);
+ int32_t l_2642 = 0xE1F5DA34L;
+ int8_t l_2643 = 1L;
+ int32_t l_2644 = 0x6E195AD1L;
+ int32_t l_2645 = 0x43E382B8L;
+ int32_t l_2647[6][7] = {{(-10L),(-10L),0x9007E50DL,(-10L),0x21CE23DEL,0xE2A2E5C5L,(-10L)},{0x4CDA0905L,(-1L),0xAA8B12F5L,(-4L),0xAA8B12F5L,(-1L),0x4CDA0905L},{(-1L),(-10L),0x0750F30FL,0xAA8B12F5L,0x4CDA0905L,(-1L),0xAA8B12F5L},{(-10L),0x21CE23DEL,0xE2A2E5C5L,(-10L),(-10L),0xE2A2E5C5L,0x21CE23DEL},{(-10L),0x8742E80AL,0x0750F30FL,(-4L),0x8742E80AL,0xAA8B12F5L,0x21CE23DEL},{0L,(-10L),0xAA8B12F5L,0L,0x21CE23DEL,0L,0xAA8B12F5L}};
+ int i, j;
+ l_2589 &= (safe_add_func_int32_t_s_s((safe_add_func_int16_t_s_s((((~((**g_1700) = (((*l_2559) = (*l_2559)) == l_2579))) , (void*)0) == ((*l_2581) = (void*)0)), ((safe_mod_func_uint8_t_u_u((((((*l_2561) &= (safe_add_func_uint8_t_u_u(3UL, 250UL))) , ((void*)0 != &g_1744)) | (((p_50 && l_2571) < 5UL) , l_2587)) != l_2588), p_50)) && p_50))), l_2587));
+ for (g_384 = 0; (g_384 >= (-3)); g_384 = safe_sub_func_uint64_t_u_u(g_384, 6))
+ { /* block id: 1189 */
+ uint16_t l_2599[6];
+ int32_t * const *l_2605 = (void*)0;
+ int32_t * const **l_2604 = &l_2605;
+ union U0 *l_2612 = &g_209;
+ int32_t ****l_2625 = &g_1175;
+ int32_t *****l_2624 = &l_2625;
+ const uint16_t ****l_2633 = &g_2630[4];
+ int32_t *l_2635 = &l_2587;
+ int32_t *l_2636[2][1][9] = {{{&g_75[0],&g_75[0],(void*)0,&g_75[0],&g_75[0],(void*)0,&g_75[0],&g_75[0],(void*)0}},{{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}}};
+ int i, j, k;
+ for (i = 0; i < 6; i++)
+ l_2599[i] = 0x61ADL;
+ for (g_209.f0 = 0; (g_209.f0 == (-9)); g_209.f0--)
+ { /* block id: 1192 */
+ int32_t l_2594 = 6L;
+ int32_t *l_2595 = &g_75[0];
+ int32_t *l_2596 = &l_2587;
+ int32_t *l_2597 = &l_2587;
+ int32_t *l_2598[6] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
+ int i;
+ l_2599[3]--;
+ }
+ (*p_49) |= (((***g_276) = ((p_50 , ((*g_648) , (safe_rshift_func_uint16_t_u_s((0xE4L && (((*l_2604) = (*g_1175)) != (*g_1175))), (safe_mod_func_int64_t_s_s((safe_sub_func_int32_t_s_s((safe_mod_func_uint16_t_u_u((l_2612 == (l_2588 , l_2613)), p_50)), l_2545)), 0xBC30D72CE9D82791LL)))))) | (*g_1000))) == p_50);
+ (*p_49) = ((safe_add_func_int64_t_s_s((safe_div_func_uint16_t_u_u((((1UL <= (safe_sub_func_int32_t_s_s(((l_2623 = ((p_50 , 0UL) , g_2620)) != ((*l_2624) = (void*)0)), (*p_49)))) && (((**g_1700) = (l_2571 <= ((l_2634 = (safe_mod_func_int8_t_s_s(((((**l_2559) = (****l_2623)) <= (safe_lshift_func_uint8_t_u_s((((((*l_2633) = g_2630[0]) != &g_642) || (*g_1739)) == 0xE3F1882A87241F9BLL), g_458.f2))) || g_206), (****l_2623)))) == (*g_127)))) , p_50)) , p_50), l_2589)), 0L)) , 0x44DFB60CL);
+ ++g_2648;
+ }
+ }
+ return l_2651[4];
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_67 g_268 g_4 g_999 g_1000 g_133 g_159 g_1175 g_983 g_1701 g_147 g_1574 g_643 g_177 g_1738 g_1739 g_384 g_20 g_78 g_642 g_458.f2 g_1679
+ * writes: g_183 g_130 g_254 g_1744 g_458.f2 g_1567 g_177 g_1679 g_1000
+ */
+static int32_t * func_51(int8_t p_52, uint16_t p_53, uint16_t p_54, int32_t * p_55, int32_t * p_56)
+{ /* block id: 22 */
+ uint32_t l_66 = 0UL;
+ const uint32_t l_1737 = 0x5BD5EC1CL;
+ int16_t *l_1823 = &g_383;
+ int8_t l_1838 = 0L;
+ int32_t **** const l_1867 = &g_1175;
+ uint32_t ***l_1888 = (void*)0;
+ int64_t *l_1900[2][9] = {{&g_91,&g_91,(void*)0,&g_91,&g_91,(void*)0,&g_91,&g_91,(void*)0},{&g_91,&g_91,(void*)0,&g_91,&g_91,(void*)0,&g_91,&g_91,(void*)0}};
+ union U0 *l_1912 = &g_458;
+ int32_t l_1970 = 0L;
+ uint64_t l_2017 = 0x186654FB36088AB8LL;
+ const int64_t l_2109 = 1L;
+ uint64_t *** const *l_2119 = &g_1568[4][0];
+ int32_t l_2147 = 0xAFE66B6AL;
+ int32_t l_2148 = 0xB7803ABDL;
+ int32_t l_2149 = 0xD2562CEEL;
+ int16_t l_2150 = 0L;
+ int32_t l_2151[7] = {0x25F1C8C3L,0x25F1C8C3L,(-8L),0x25F1C8C3L,0x25F1C8C3L,(-8L),0x25F1C8C3L};
+ uint64_t l_2152 = 0x5E2B98CD90F720CALL;
+ uint32_t l_2172 = 0x68E686C5L;
+ union U0 l_2192 = {6L};
+ uint16_t ***l_2272 = &g_642;
+ int64_t l_2294 = 0xE3EA39F0464915B4LL;
+ int32_t l_2357 = 0x6F9A5C36L;
+ uint32_t l_2449[10] = {18446744073709551615UL,0xEC1892ABL,0xEC1892ABL,18446744073709551615UL,0xEC1892ABL,0xEC1892ABL,18446744073709551615UL,0xEC1892ABL,0xEC1892ABL,18446744073709551615UL};
+ const int64_t l_2470[5] = {0L,0L,0L,0L,0L};
+ int16_t l_2485 = 4L;
+ int i, j;
+ (**g_1175) = func_57(func_63(l_66, p_55), p_56, p_56, (safe_mod_func_int16_t_s_s((p_53 || (safe_mod_func_int64_t_s_s(((safe_rshift_func_uint8_t_u_s((safe_mod_func_uint16_t_u_u((l_66 , p_54), (l_1737 || 0xECL))), l_66)) | g_147), 0xEDC64461E26EA04ALL))), (**g_1574))), (*g_999));
+ return p_55;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_1738 g_458.f2 g_1739 g_384 g_999 g_1000 g_20 g_147 g_78 g_983 g_642 g_643 g_1679 g_177 g_135 l_3230 l_8
+ * writes: g_1744 g_458.f2 g_130 g_1567 g_177 g_1679 l_8
+ */
+static int32_t * func_57(int32_t * p_58, const int32_t * p_59, int32_t * p_60, int32_t p_61, int32_t * p_62)
+{ /* block id: 777 */
+ const int16_t ***l_1740[6];
+ const int16_t **l_1742 = &g_1739;
+ const int16_t ***l_1741[8] = {&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742};
+ const int16_t ***l_1743[6][4][7] = {{{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,(void*)0},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742}},{{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,(void*)0},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742}},{{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,(void*)0,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742}},{{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742}},{{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,(void*)0,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742}},{{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742},{&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,&l_1742,(void*)0}}};
+ union U0 *l_1746 = &g_209;
+ int32_t l_1754 = 1L;
+ int32_t l_1768 = 0x095CDAFAL;
+ int32_t l_1769 = 0xDB75B53DL;
+ int32_t l_1770 = 4L;
+ int32_t l_1771 = 0x9C09D373L;
+ int32_t l_1772 = 0x10206477L;
+ int32_t l_1773[7] = {(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),(-1L)};
+ uint8_t l_1774 = 0x9DL;
+ int16_t *l_1792[4] = {&g_408,&g_408,&g_408,&g_408};
+ const uint32_t **l_1798 = (void*)0;
+ const uint32_t ***l_1797 = &l_1798;
+ int32_t ***l_1799 = &g_999;
+ int i, j, k;
+ for (i = 0; i < 6; i++)
+ l_1740[i] = (void*)0;
+ g_1744 = g_1738[0][0][1];
+ for (g_458.f2 = 1; (g_458.f2 >= 0); g_458.f2 -= 1)
+ { /* block id: 781 */
+ int32_t ***l_1745 = &g_999;
+ union U0 *l_1747 = (void*)0;
+ int32_t l_1762 = 1L;
+ int32_t *l_1763 = &l_1754;
+ int32_t *l_1764 = (void*)0;
+ int32_t *l_1765 = &g_135;
+ int32_t *l_1766 = &l_1762;
+ int32_t *l_1767[2][8];
+ int i, j;
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 8; j++)
+ l_1767[i][j] = &g_135;
+ }
+ }
+ if (((((safe_mod_func_uint16_t_u_u((safe_mod_func_int64_t_s_s((safe_add_func_uint64_t_u_u(l_1769, (((l_1774 & (safe_sub_func_uint16_t_u_u(((((safe_mul_func_uint16_t_u_u((safe_div_func_uint32_t_u_u((((*g_1739) || (l_1772 |= l_1774)) < ((void*)0 != p_62)), p_61)), (safe_add_func_uint16_t_u_u(p_61, ((((safe_add_func_uint16_t_u_u(((p_61 , l_1797) == &l_1798), p_61)) , (void*)0) != l_1799) >= p_61))))) | p_61) , 0xEAL) || 0x64L), p_61))) , (***l_1799)) && (***l_1799)))), (***l_1799))), 0x29C2L)) >= 252UL) , (***l_1799)) || (***l_1799)))
+ { /* block id: 801 */
+ uint64_t ****l_1808 = &g_1568[1][0];
+ uint64_t *****l_1809 = &g_1567;
+ int32_t l_1810 = 0xF7553BC3L;
+ int32_t *l_1815 = &l_1754;
+ g_1679 ^= ((*l_1815) = (safe_lshift_func_uint16_t_u_u((((((safe_mod_func_int8_t_s_s(g_147, g_78)) == ((safe_div_func_int8_t_s_s((-1L), (safe_mul_func_int8_t_s_s(((((*g_983) = p_61) , l_1808) != ((*l_1809) = l_1808)), p_61)))) || l_1810)) , ((safe_rshift_func_int8_t_s_s((safe_add_func_uint16_t_u_u(((**g_642) = p_61), l_1810)), p_61)) | 1L)) != g_458.f2) , p_61), (***l_1799))));
+ }
+ else
+ { /* block id: 807 */
+ int64_t l_1816 = 5L;
+ l_1816 &= ((((***l_1799) <= ((*g_643) < (((-1L) != ((void*)0 == l_1792[2])) & p_61))) >= (p_61 > (***l_1799))) | p_61);
+ }
+ return (**l_1799);
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_67 g_183 g_268 g_4 g_999 g_1000 g_133 g_159 g_1175 g_983 g_1701 l_17 g_20 g_135 g_75 l_6 l_3388
+ * writes: g_183 g_130 g_254 l_17 g_135 g_75 l_6 l_3388
+ */
+static int32_t * func_63(uint32_t p_64, int32_t * p_65)
+{ /* block id: 23 */
+ int8_t l_92 = (-1L);
+ union U0 l_107 = {0xFCL};
+ int64_t *l_108 = &g_91;
+ int32_t l_1362 = (-2L);
+ int32_t l_1363 = 0x44B08332L;
+ int32_t l_1364 = 0xC342F325L;
+ int32_t l_1365 = 5L;
+ int32_t l_1366 = 1L;
+ int32_t l_1367 = 0L;
+ int32_t l_1368 = (-6L);
+ int32_t l_1369 = 0x025C5BA3L;
+ int32_t l_1370 = 0xD02642ECL;
+ int32_t l_1372 = 0L;
+ int32_t l_1373 = (-4L);
+ int32_t l_1374 = (-8L);
+ int32_t l_1375[9];
+ int8_t l_1376 = (-5L);
+ const int32_t *l_1416 = &l_1369;
+ uint64_t ****l_1428 = (void*)0;
+ const int32_t ***l_1507 = (void*)0;
+ uint8_t *l_1555[8] = {&g_206,&g_206,&g_206,&g_206,&g_206,&g_206,&g_206,&g_206};
+ uint64_t * const l_1584 = &g_1585;
+ uint64_t * const *l_1583 = &l_1584;
+ uint64_t * const **l_1582 = &l_1583;
+ uint64_t * const ***l_1581[1];
+ uint32_t l_1590 = 0xF2612A68L;
+ uint16_t l_1636 = 0x963DL;
+ union U0 **l_1671[3][5] = {{&g_457,&g_457,&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457,&g_457,&g_457}};
+ union U0 ***l_1718 = &l_1671[2][3];
+ int32_t l_1721[9][10][2] = {{{1L,0xAE07A814L},{0L,(-5L)},{4L,0L},{0x8B11D955L,1L},{0x8B11D955L,0L},{4L,(-5L)},{0L,0xAE07A814L},{1L,(-2L)},{1L,(-5L)},{0xCA567AF2L,1L}},{{0x8B11D955L,0x74157914L},{0x2A0A03D6L,0L},{0xCA567AF2L,0x83600AB0L},{0L,(-2L)},{1L,(-2L)},{0L,0x83600AB0L},{0xCA567AF2L,0L},{0x2A0A03D6L,0x74157914L},{0x8B11D955L,1L},{0xCA567AF2L,(-5L)}},{{1L,(-2L)},{1L,0xAE07A814L},{0L,(-5L)},{4L,0L},{0x8B11D955L,1L},{0x8B11D955L,0L},{4L,(-5L)},{0L,0xAE07A814L},{1L,(-2L)},{1L,(-5L)}},{{0xCA567AF2L,1L},{0x8B11D955L,0x74157914L},{0x2A0A03D6L,0L},{0xCA567AF2L,0x83600AB0L},{0L,(-2L)},{1L,(-2L)},{0L,0x83600AB0L},{0xCA567AF2L,0L},{0x2A0A03D6L,0x74157914L},{0x8B11D955L,1L}},{{0xCA567AF2L,(-5L)},{1L,(-2L)},{1L,0xAE07A814L},{0L,(-5L)},{4L,0L},{0x8B11D955L,1L},{0x8B11D955L,0L},{4L,(-5L)},{0L,0xAE07A814L},{1L,(-2L)}},{{1L,(-5L)},{0xCA567AF2L,1L},{0x8B11D955L,0x74157914L},{0x2A0A03D6L,0L},{0xCA567AF2L,0x83600AB0L},{0L,(-2L)},{1L,(-2L)},{0L,0x83600AB0L},{0xCA567AF2L,0L},{0x2A0A03D6L,0x74157914L}},{{0x8B11D955L,1L},{0xCA567AF2L,(-5L)},{1L,(-2L)},{1L,0xAE07A814L},{0L,(-5L)},{4L,0L},{0x8B11D955L,1L},{0x8B11D955L,0L},{4L,(-5L)},{0L,0xAE07A814L}},{{1L,(-2L)},{1L,(-5L)},{0xCA567AF2L,1L},{0x8B11D955L,0x74157914L},{0x2A0A03D6L,1L},{0xD30CC12AL,0xEF7C4AB6L},{1L,1L},{(-8L),1L},{1L,0xEF7C4AB6L},{0xD30CC12AL,1L}},{{0x1648D157L,0L},{1L,0x45440744L},{0xD30CC12AL,0L},{0L,1L},{(-9L),0x4EBF4A0AL},{1L,0L},{(-3L),1L},{1L,1L},{1L,1L},{(-3L),0L}}};
+ union U0 **l_1728 = &g_457;
+ int i, j, k;
+ for (i = 0; i < 9; i++)
+ l_1375[i] = 0L;
+ for (i = 0; i < 1; i++)
+ l_1581[i] = &l_1582;
+ for (p_64 = 0; (p_64 <= 6); p_64 += 1)
+ { /* block id: 26 */
+ int32_t *l_74 = &g_75[2];
+ uint16_t *l_76 = (void*)0;
+ uint16_t *l_77[9][7] = {{(void*)0,&g_78,(void*)0,(void*)0,(void*)0,(void*)0,&g_78},{&g_78,&g_78,&g_78,&g_78,&g_78,&g_78,&g_78},{(void*)0,(void*)0,(void*)0,(void*)0,&g_78,(void*)0,(void*)0},{(void*)0,(void*)0,&g_78,&g_78,&g_78,(void*)0,(void*)0},{(void*)0,(void*)0,&g_78,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,&g_78,(void*)0,&g_78,&g_78,(void*)0,&g_78},{(void*)0,&g_78,&g_78,&g_78,&g_78,(void*)0,&g_78},{(void*)0,&g_78,&g_78,(void*)0,&g_78,(void*)0,&g_78},{(void*)0,(void*)0,(void*)0,&g_78,(void*)0,(void*)0,(void*)0}};
+ int8_t l_79 = 6L;
+ int32_t l_80 = (-1L);
+ int32_t l_81 = (-7L);
+ int32_t l_82 = 0x52CE760CL;
+ int32_t l_83 = 0L;
+ int32_t l_84 = (-1L);
+ int32_t l_85[9];
+ int64_t *l_90[2];
+ uint32_t l_446 = 4294967293UL;
+ int32_t l_1371 = 7L;
+ uint32_t l_1380 = 4294967295UL;
+ const uint32_t l_1397[10][9][2] = {{{0x24B8C904L,0x1B2BEC57L},{0UL,4294967295UL},{0x485AA879L,0x47938DEEL},{4294967292UL,0x6EBB7F7CL},{3UL,0xF30D44D8L},{4294967295UL,0UL},{1UL,1UL},{0x6E6627B8L,0UL},{4294967286UL,4294967288UL}},{{0xF30D44D8L,0xCF5DB912L},{0x486E3104L,0x9792D2F9L},{0UL,0xD58A0B2DL},{0xCF5DB912L,4294967292UL},{4294967294UL,0x58CE859BL},{4294967295UL,0xA874F9BCL},{1UL,0xA874F9BCL},{4294967295UL,0x58CE859BL},{4294967294UL,4294967292UL}},{{0xCF5DB912L,0xD58A0B2DL},{0UL,0x9792D2F9L},{0x486E3104L,0xCF5DB912L},{0xF30D44D8L,4294967288UL},{4294967286UL,0UL},{0x6E6627B8L,1UL},{1UL,0UL},{4294967295UL,0xF30D44D8L},{3UL,0x6EBB7F7CL}},{{4294967292UL,0x47938DEEL},{0x485AA879L,4294967295UL},{0UL,0x1B2BEC57L},{0x24B8C904L,4294967286UL},{0xD58A0B2DL,4294967292UL},{0x01BACA47L,0x0EB5F177L},{0x02BDCA84L,0x73AB4C3EL},{0UL,0UL},{0x47938DEEL,1UL}},{{4294967295UL,4294967295UL},{4294967286UL,4294967293UL},{0x9792D2F9L,4294967295UL},{4294967290UL,4294967286UL},{0x99258856L,4294967290UL},{4294967295UL,4294967288UL},{4294967295UL,4294967290UL},{0x99258856L,4294967286UL},{4294967290UL,4294967295UL}},{{0x9792D2F9L,4294967293UL},{4294967286UL,4294967295UL},{4294967295UL,1UL},{0x47938DEEL,4294967294UL},{0x02BDCA84L,0xFE00AE09L},{0xED55B852L,0xF30D44D8L},{4294967295UL,4294967295UL},{4294967286UL,4294967286UL},{0x47938DEEL,4294967290UL}},{{1UL,1UL},{4294967286UL,4294967288UL},{4294967295UL,4294967288UL},{0xF1A18079L,0x9792D2F9L},{0x485AA879L,0xA874F9BCL},{0xD58A0B2DL,0UL},{1UL,1UL},{4294967295UL,0UL},{0x9792D2F9L,0x486E3104L}},{{0UL,3UL},{0xA874F9BCL,4294967286UL},{0x486E3104L,4294967295UL},{0x0EB5F177L,0x0E6844C1L},{4294967295UL,4294967295UL},{0UL,4294967295UL},{4294967295UL,0x0E6844C1L},{0x0EB5F177L,4294967295UL},{0x486E3104L,4294967286UL}},{{0xA874F9BCL,3UL},{0UL,0x486E3104L},{0x9792D2F9L,0UL},{4294967295UL,1UL},{1UL,0UL},{0xD58A0B2DL,0xA874F9BCL},{0x485AA879L,0x9792D2F9L},{0xF1A18079L,4294967288UL},{4294967295UL,4294967288UL}},{{4294967286UL,1UL},{1UL,4294967290UL},{0x47938DEEL,4294967286UL},{4294967286UL,4294967295UL},{4294967295UL,0xF30D44D8L},{0xED55B852L,0xFE00AE09L},{0x02BDCA84L,4294967294UL},{4294967288UL,0xD58A0B2DL},{0x35C33860L,0x35C33860L}}};
+ union U0 l_1457 = {-5L};
+ union U0 *l_1469 = &g_458;
+ uint16_t ***l_1483 = &g_642;
+ int32_t l_1484 = 0x6F092448L;
+ int32_t l_1485 = 0xA2A7E2F9L;
+ int16_t l_1614 = 0L;
+ int8_t l_1680[8] = {0L,0L,0L,0L,0L,0L,0L,0L};
+ uint32_t l_1699 = 4294967295UL;
+ int64_t l_1706[2];
+ int i, j, k;
+ for (i = 0; i < 9; i++)
+ l_85[i] = 7L;
+ for (i = 0; i < 2; i++)
+ l_90[i] = &g_91;
+ for (i = 0; i < 2; i++)
+ l_1706[i] = 0xC7929D515FFB46B7LL;
+ if (g_67[p_64])
+ break;
+ }
+ for (g_183 = 0; (g_183 >= 2); ++g_183)
+ { /* block id: 767 */
+ if ((*l_1416))
+ break;
+ if ((*g_268))
+ continue;
+ return (*g_999);
+ }
+ (*p_65) = ((safe_lshift_func_int8_t_s_u(g_133, 7)) && ((*g_1701) = (safe_rshift_func_uint8_t_u_s(((*g_983) = (safe_rshift_func_uint8_t_u_u(((+(((((safe_lshift_func_uint8_t_u_u((((*l_1718) = &g_457) == ((!(safe_mul_func_uint8_t_u_u(((l_1721[7][2][1] & (safe_mod_func_uint8_t_u_u(((*l_1416) > (safe_sub_func_int32_t_s_s((*p_65), (((&g_1700 != ((+(safe_mul_func_int16_t_s_s(g_159, (p_64 == (&p_65 == (*g_1175)))))) , &g_1700)) == (-1L)) > p_64)))), 0x79L))) && 5L), p_64))) , l_1728)), 5)) > p_64) | (-10L)) & (*l_1416)) <= (*l_1416))) , (*l_1416)), 3))), p_64))));
+ return (*g_999);
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_209.f0 g_128 g_258 g_159 g_457 g_458 g_4 g_253 g_267 g_458.f1 g_458.f3 g_643 g_177 g_78 g_642 g_91 g_268 g_67 g_383 g_127 g_983 g_130 g_1175 g_999 g_1000 g_146 g_135 g_75 g_274 g_20 g_409 g_183 g_277 g_629 g_578 g_204 g_133 g_1326 g_276 g_206 g_1086
+ * writes: g_209.f0 g_206 g_253 g_209.f2 g_268 g_458.f1 g_458.f3 g_75 g_708 g_146 g_91 g_578 g_130 g_135 g_1000 g_159 g_204 g_1326 g_1334 g_127 g_177
+ */
+static int32_t func_68(int32_t p_69, uint32_t p_70, int8_t p_71, int16_t p_72, int64_t p_73)
+{ /* block id: 208 */
+ int8_t *l_447 = (void*)0;
+ int8_t *l_448 = &g_209.f0;
+ union U0 l_449 = {0xE9L};
+ uint8_t *l_454 = &g_206;
+ int16_t *l_461 = &l_449.f2;
+ int32_t l_462[8][2] = {{9L,9L},{9L,9L},{9L,9L},{9L,9L},{9L,9L},{9L,9L},{9L,9L},{9L,9L}};
+ uint16_t l_472[9][9][3] = {{{0xC221L,0xC874L,65535UL},{65535UL,1UL,0xBF13L},{0x3BF1L,3UL,0xBD1BL},{0xDEE1L,65529UL,0xBD1BL},{7UL,0xBF03L,0xBF13L},{65535UL,0xE8C6L,65535UL},{1UL,65535UL,1UL},{65535UL,0x7567L,65529UL},{0xBD1BL,0x53ECL,65535UL}},{{0x8B2AL,65535UL,0xADA0L},{1UL,65535UL,0x75E0L},{0x8B2AL,7UL,65535UL},{0xBD1BL,0x5DA5L,0x9346L},{65535UL,0xC221L,0xC874L},{1UL,0x9346L,65527UL},{65535UL,0xDEE1L,0x53ECL},{7UL,0xBF13L,5UL},{0xDEE1L,0xBF13L,65535UL}},{{0x3BF1L,0xDEE1L,0xBF03L},{65535UL,0x9346L,0xFD83L},{0xC221L,0xC221L,0x3BF1L},{0xBF03L,0x5DA5L,0xC221L},{65535UL,7UL,0xE8C6L},{0xADA0L,65535UL,0x7567L},{0xC874L,65535UL,0xE8C6L},{65535UL,0x53ECL,0xC221L},{65535UL,0x7567L,0x3BF1L}},{{65527UL,65535UL,65535UL},{0x8B2AL,65535UL,0x505FL},{6UL,0x505FL,0x7567L},{7UL,0x7C61L,0x046CL},{7UL,1UL,0x8B2AL},{6UL,0xADA0L,0xC221L},{0x8B2AL,0x53ECL,0x53ECL},{65535UL,0xFD83L,8UL},{0xE8C6L,65535UL,65535UL}},{{65535UL,5UL,65529UL},{0x53ECL,65535UL,65535UL},{65535UL,5UL,0xBF03L},{0x5DA5L,65535UL,0x7C61L},{0x505FL,0xFD83L,65535UL},{0x3BF1L,0x53ECL,0xE8C6L},{0xBD1BL,0xADA0L,3UL},{65531UL,1UL,65535UL},{65527UL,0x7C61L,65535UL}},{{1UL,0x505FL,3UL},{0xFD83L,65535UL,0xE8C6L},{65535UL,0xBF03L,65535UL},{0x7567L,0x75E0L,0x7C61L},{65535UL,0x8B2AL,0xBF03L},{0xBF13L,0x5DA5L,65535UL},{0xADA0L,0x9346L,65529UL},{0xBF13L,1UL,65535UL},{65535UL,0x1FBEL,8UL}},{{0x7567L,0x3BF1L,0x53ECL},{65535UL,8UL,0xC221L},{0xFD83L,65527UL,0x8B2AL},{1UL,3UL,0x046CL},{65527UL,3UL,0x7567L},{65531UL,65527UL,0x505FL},{0xBD1BL,8UL,65535UL},{0x3BF1L,0x3BF1L,65531UL},{0x505FL,0x1FBEL,0x3BF1L}},{{0x5DA5L,1UL,65535UL},{65535UL,0x9346L,0x75E0L},{0x53ECL,0x5DA5L,65535UL},{65535UL,0x8B2AL,0x3BF1L},{0xE8C6L,0x75E0L,65531UL},{65535UL,0xBF03L,65535UL},{0x8B2AL,65535UL,0x505FL},{6UL,0x505FL,0x7567L},{7UL,0x7C61L,0x046CL}},{{7UL,1UL,0x8B2AL},{6UL,0xADA0L,0xC221L},{0x8B2AL,0x53ECL,0x53ECL},{65535UL,0xFD83L,8UL},{0xE8C6L,65535UL,65535UL},{65535UL,5UL,65529UL},{0x53ECL,65535UL,65535UL},{65535UL,5UL,0xBF03L},{0x5DA5L,65535UL,0x7C61L}}};
+ uint32_t *l_557 = &g_258[3];
+ const uint32_t *l_559[5][9] = {{&g_258[3],&g_258[3],&g_258[3],(void*)0,&g_147,&g_258[3],(void*)0,&g_258[6],&g_258[3]},{&g_258[3],&g_258[0],&g_258[3],&g_258[5],&g_258[0],&g_258[3],(void*)0,&g_258[3],&g_258[0]},{&g_258[3],&g_258[3],&g_258[3],&g_258[3],&g_258[6],&g_258[0],&g_258[3],&g_258[3],&g_258[3]},{&g_258[3],&g_258[6],&g_147,&g_147,&g_258[3],&g_258[3],&g_258[6],(void*)0,(void*)0},{&g_258[0],&g_258[3],(void*)0,&g_258[3],(void*)0,&g_258[3],&g_258[0],&g_258[0],&g_258[3]}};
+ uint64_t * const l_607 = &g_133;
+ uint8_t l_714 = 0x10L;
+ int16_t l_733 = 1L;
+ int32_t l_911[4];
+ int8_t l_947 = 8L;
+ int32_t l_1001 = 0x805C6618L;
+ uint64_t l_1046[1];
+ int16_t l_1059 = 7L;
+ int64_t * const *l_1083 = &g_127;
+ int64_t * const **l_1082 = &l_1083;
+ int64_t *l_1150 = &g_746;
+ union U0 **l_1163[2][6] = {{&g_457,&g_457,&g_457,&g_457,&g_457,&g_457},{&g_457,&g_457,&g_457,&g_457,&g_457,&g_457}};
+ union U0 l_1198 = {-2L};
+ int32_t ** const l_1203 = &g_1000;
+ uint32_t l_1235[9][5] = {{2UL,4294967290UL,0x2053E66BL,0xCE24B125L,0x2053E66BL},{0x466813F7L,0x466813F7L,1UL,0xCE24B125L,0x51EA397BL},{4294967290UL,2UL,0x96D42934L,4294967290UL,0x466813F7L},{4294967294UL,7UL,4294967289UL,0xFC0413B2L,7UL},{0x466813F7L,2UL,0xE2CADD70L,1UL,1UL},{0x96D42934L,0x466813F7L,0x96D42934L,4294967289UL,1UL},{0xCE24B125L,4294967290UL,7UL,4294967294UL,7UL},{2UL,4294967294UL,4294967295UL,0xCE24B125L,0x466813F7L},{0x2053E66BL,0x466813F7L,7UL,7UL,0x51EA397BL}};
+ int8_t l_1237 = 0xB2L;
+ uint32_t *l_1292 = (void*)0;
+ uint32_t * const *l_1291 = &l_1292;
+ uint32_t l_1324[6][2] = {{18446744073709551611UL,18446744073709551611UL},{18446744073709551611UL,18446744073709551611UL},{18446744073709551611UL,18446744073709551611UL},{18446744073709551611UL,18446744073709551611UL},{18446744073709551611UL,18446744073709551611UL},{18446744073709551611UL,18446744073709551611UL}};
+ int i, j, k;
+ for (i = 0; i < 4; i++)
+ l_911[i] = 1L;
+ for (i = 0; i < 1; i++)
+ l_1046[i] = 0x02E0C98E42D89AB0LL;
+ if (((((*l_448) ^= (-6L)) < ((!(((l_449 , ((((p_71 = (safe_rshift_func_uint8_t_u_s(((*l_454) = (safe_add_func_uint16_t_u_u(g_128[0][3][2], g_258[4]))), (((g_159 , l_449) , (safe_mod_func_uint16_t_u_u((g_457 == &g_458), ((*l_461) = (safe_lshift_func_int16_t_s_u((!(((l_449.f3 <= 0x2FL) , (*g_457)) , 1L)), 1)))))) && (-1L))))) || l_449.f3) < 6UL) > 1L)) & g_4[3]) | l_462[0][0])) != l_462[0][0])) <= (-8L)))
+ { /* block id: 213 */
+ uint16_t l_486 = 7UL;
+ uint64_t l_503 = 0xC3FC38227B8D68D9LL;
+ int32_t l_526[9] = {1L,0x3C3F3ACAL,0x3C3F3ACAL,1L,0x3C3F3ACAL,0x3C3F3ACAL,1L,0x3C3F3ACAL,0x3C3F3ACAL};
+ int i;
+ for (g_253 = 1; (g_253 >= 0); g_253 -= 1)
+ { /* block id: 216 */
+ int32_t *l_463 = (void*)0;
+ int32_t *l_464 = (void*)0;
+ int32_t *l_465 = &g_75[0];
+ int32_t *l_466 = &l_462[0][0];
+ int32_t *l_467 = &g_75[2];
+ int32_t *l_468 = &g_135;
+ int32_t *l_469 = (void*)0;
+ int32_t *l_470[10][3] = {{&l_462[0][0],&l_462[0][0],&l_462[0][0]},{&g_75[0],&l_462[2][0],(void*)0},{(void*)0,&g_75[2],&l_462[2][0]},{(void*)0,&g_4[3],&l_462[0][0]},{&g_75[0],&g_20,&g_75[0]},{&l_462[0][0],&g_4[3],(void*)0},{&l_462[2][0],&g_75[2],(void*)0},{(void*)0,&l_462[2][0],&g_75[0]},{&l_462[0][0],&l_462[0][0],&l_462[0][0]},{(void*)0,&l_462[0][0],&l_462[2][0]}};
+ int16_t l_530 = (-7L);
+ int32_t l_535 = (-5L);
+ int i, j;
+ l_472[4][3][2]--;
+ for (g_209.f2 = 0; (g_209.f2 <= 1); g_209.f2 += 1)
+ { /* block id: 220 */
+ uint32_t *l_477 = &g_258[3];
+ int64_t l_480[1][10][6] = {{{(-6L),(-2L),(-6L),0x3F7C68C20FEF92FCLL,(-6L),(-2L)},{(-1L),(-6L),(-6L),(-4L),0x539AEC78E0FAAD68LL,0x3F7C68C20FEF92FCLL},{0x61375C96C76C8D7DLL,(-4L),(-2L),(-2L),(-4L),0x61375C96C76C8D7DLL},{(-2L),(-4L),0x61375C96C76C8D7DLL,0x0DB3BFBB48C1FAC4LL,0x539AEC78E0FAAD68LL,(-6L)},{(-6L),(-6L),(-1L),(-6L),(-6L),(-4L)},{(-6L),(-2L),(-6L),0x0DB3BFBB48C1FAC4LL,1L,1L},{(-2L),0x539AEC78E0FAAD68LL,0x539AEC78E0FAAD68LL,(-2L),(-1L),1L},{0x61375C96C76C8D7DLL,1L,(-6L),(-4L),0x0DB3BFBB48C1FAC4LL,(-4L)},{(-1L),(-4L),(-1L),0x3F7C68C20FEF92FCLL,0x0DB3BFBB48C1FAC4LL,(-6L)},{(-6L),1L,0x61375C96C76C8D7DLL,(-1L),(-1L),0x61375C96C76C8D7DLL}}};
+ int32_t l_484 = 0x84166A81L;
+ int32_t *l_504[7] = {&g_75[2],&g_20,&g_20,&g_75[2],&g_20,&g_20,&g_75[2]};
+ uint8_t *l_511 = (void*)0;
+ int32_t l_519 = 0x56952E57L;
+ int8_t l_524 = 0x02L;
+ int i, j, k;
+ (*g_267) = (void*)0;
+ }
+ }
+ }
+ else
+ { /* block id: 252 */
+ int32_t l_545[4] = {0xA15CE5BAL,0xA15CE5BAL,0xA15CE5BAL,0xA15CE5BAL};
+ union U0 l_606 = {0xEDL};
+ int32_t *l_653 = &g_146;
+ int64_t l_713 = 8L;
+ int32_t **l_722 = &l_653;
+ int32_t ***l_721 = &l_722;
+ int i;
+ for (g_458.f1 = 20; (g_458.f1 == (-7)); g_458.f1 = safe_sub_func_int16_t_s_s(g_458.f1, 2))
+ { /* block id: 255 */
+ int32_t l_615[1];
+ uint8_t l_620 = 0UL;
+ uint32_t **l_649 = &l_557;
+ int32_t *l_707 = &g_75[2];
+ int32_t *l_709 = &g_146;
+ int32_t *l_710 = &l_545[0];
+ int32_t *l_711 = &l_545[1];
+ int32_t *l_712[6][1][3] = {{{&l_615[0],&g_135,&g_135}},{{&g_135,&l_462[0][0],(void*)0}},{{&l_615[0],&l_462[0][0],&l_615[0]}},{{&l_615[0],&g_135,(void*)0}},{{&l_615[0],&l_615[0],&g_135}},{{&l_615[0],&g_135,&g_135}}};
+ int64_t l_726 = (-4L);
+ int64_t l_789 = 0xDB7474E2223FA5BCLL;
+ int i, j, k;
+ for (i = 0; i < 1; i++)
+ l_615[i] = (-4L);
+ }
+ }
+ for (g_458.f3 = 0; (g_458.f3 != 12); g_458.f3 = safe_add_func_int64_t_s_s(g_458.f3, 1))
+ { /* block id: 371 */
+ int32_t *l_827 = &g_75[2];
+ union U0 l_834 = {0x56L};
+ int8_t *l_839 = &g_708;
+ uint32_t l_840 = 9UL;
+ uint16_t **l_892[9] = {&g_643,&g_643,&g_643,&g_643,&g_643,&g_643,&g_643,&g_643,&g_643};
+ int64_t **l_902 = &g_127;
+ int16_t l_903 = 0x0ED8L;
+ uint16_t l_904 = 0x826EL;
+ int32_t l_906 = 0L;
+ int32_t l_907 = (-2L);
+ uint32_t l_912 = 3UL;
+ int32_t l_917 = (-5L);
+ int32_t l_925 = 0xC1557A2EL;
+ int32_t l_926[1][4][9] = {{{0xD18E9BE1L,0xD18E9BE1L,0x900B22F3L,0x7F48F33DL,0x693ED394L,(-2L),0xD18E9BE1L,0x693ED394L,0x8757C95BL},{0xF7B5BB4CL,1L,2L,0x693ED394L,0x693ED394L,2L,1L,0xF7B5BB4CL,0x900B22F3L},{0xF7B5BB4CL,0x693ED394L,0x900B22F3L,0xF7B5BB4CL,1L,2L,0x693ED394L,0x693ED394L,2L},{0xD18E9BE1L,0x693ED394L,0x8757C95BL,0x693ED394L,0xD18E9BE1L,(-2L),0x693ED394L,0x7F48F33DL,0x900B22F3L}}};
+ int64_t l_930 = 9L;
+ uint32_t l_935 = 1UL;
+ union U0 **l_971 = &g_457;
+ int i, j, k;
+ g_146 = (p_73 , (((safe_add_func_int64_t_s_s((safe_rshift_func_uint8_t_u_s(((safe_rshift_func_uint16_t_u_u(((safe_mod_func_uint32_t_u_u(1UL, ((*l_827) = l_449.f2))) || ((((*l_839) = ((safe_rshift_func_int8_t_s_u((!((*l_448) = ((((safe_mul_func_uint8_t_u_u(((safe_div_func_int8_t_s_s((l_834 , (safe_add_func_uint32_t_u_u((safe_sub_func_uint16_t_u_u((l_462[1][0] | l_462[4][1]), 0xE028L)), (-1L)))), (p_73 && p_71))) <= (*g_643)), g_78)) != p_72) && (**g_642)) && 255UL))), l_714)) >= 0xCFL)) || g_128[0][3][1]) != p_69)), 12)) >= p_71), 2)), p_73)) < l_840) , p_69));
+ for (g_91 = 0; (g_91 <= (-13)); g_91 = safe_sub_func_uint32_t_u_u(g_91, 8))
+ { /* block id: 378 */
+ uint64_t **l_859 = &g_333[6][0];
+ uint64_t ***l_858[5] = {&l_859,&l_859,&l_859,&l_859,&l_859};
+ int32_t l_875 = 2L;
+ int32_t l_886 = (-1L);
+ int32_t l_908 = 1L;
+ int32_t l_909 = 0xA85A818CL;
+ int32_t l_910 = 0x9B9DDF32L;
+ int32_t *l_923 = &l_909;
+ int8_t l_927 = (-1L);
+ int32_t l_929[5] = {0x2105F6E1L,0x2105F6E1L,0x2105F6E1L,0x2105F6E1L,0x2105F6E1L};
+ int64_t *l_948 = &g_128[0][3][1];
+ union U0 **l_974 = &g_457;
+ uint32_t l_1073 = 8UL;
+ uint32_t l_1095 = 8UL;
+ uint64_t l_1103 = 18446744073709551615UL;
+ int i;
+ }
+ }
+ for (g_91 = 0; (g_91 <= 2); g_91 += 1)
+ { /* block id: 489 */
+ union U0 l_1106[2][1] = {{{0xE5L}},{{0xE5L}}};
+ int64_t * const l_1107[1] = {(void*)0};
+ int32_t *l_1110[4][9][2] = {{{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135}},{{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135}},{{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135}},{{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135},{&g_135,&g_4[3]},{&g_135,&g_135},{&g_4[3],&g_135}}};
+ uint64_t **l_1119[6][3][8] = {{{&g_333[0][0],(void*)0,&g_333[1][1],&g_333[2][0],(void*)0,&g_333[5][0],&g_333[3][1],&g_333[2][1]},{&g_333[1][1],&g_333[3][0],&g_333[1][1],&g_333[7][1],&g_333[7][1],&g_333[7][1],&g_333[7][1],&g_333[7][1]},{(void*)0,&g_333[0][0],&g_333[7][1],&g_333[7][1],&g_333[4][0],(void*)0,&g_333[7][1],&g_333[4][0]}},{{&g_333[7][1],&g_333[7][1],&g_333[5][0],(void*)0,&g_333[3][1],(void*)0,&g_333[3][0],&g_333[3][1]},{(void*)0,&g_333[7][1],(void*)0,(void*)0,&g_333[7][1],&g_333[7][1],(void*)0,&g_333[7][1]},{&g_333[4][0],&g_333[5][0],&g_333[7][1],(void*)0,(void*)0,(void*)0,(void*)0,&g_333[7][1]}},{{&g_333[7][1],&g_333[7][1],&g_333[3][0],&g_333[5][0],&g_333[3][1],&g_333[7][1],(void*)0,&g_333[1][1]},{&g_333[5][0],&g_333[0][0],&g_333[7][1],&g_333[4][0],&g_333[7][1],&g_333[7][1],(void*)0,&g_333[1][1]},{&g_333[0][0],&g_333[7][1],&g_333[3][0],&g_333[5][0],&g_333[7][1],&g_333[7][1],&g_333[7][1],&g_333[7][1]}},{{&g_333[7][1],&g_333[7][1],&g_333[7][1],(void*)0,&g_333[2][0],&g_333[0][0],&g_333[3][0],(void*)0},{&g_333[7][1],&g_333[7][1],&g_333[4][0],&g_333[5][0],&g_333[3][0],(void*)0,&g_333[7][1],&g_333[3][0]},{&g_333[1][1],&g_333[2][1],(void*)0,(void*)0,&g_333[3][0],&g_333[5][0],(void*)0,&g_333[4][1]}},{{&g_333[7][1],&g_333[7][1],&g_333[7][1],(void*)0,&g_333[7][1],&g_333[7][1],&g_333[7][1],&g_333[7][1]},{&g_333[7][1],&g_333[7][1],&g_333[5][0],&g_333[1][0],(void*)0,&g_333[7][1],&g_333[4][1],&g_333[7][1]},{&g_333[7][1],(void*)0,&g_333[7][1],&g_333[0][0],(void*)0,&g_333[7][1],(void*)0,(void*)0}},{{&g_333[7][1],&g_333[1][1],&g_333[5][1],&g_333[7][1],&g_333[7][1],(void*)0,&g_333[7][1],&g_333[4][0]},{&g_333[7][1],&g_333[7][1],&g_333[7][1],(void*)0,&g_333[3][0],(void*)0,&g_333[7][1],(void*)0},{&g_333[1][1],&g_333[7][1],&g_333[7][1],(void*)0,&g_333[3][0],&g_333[7][1],&g_333[1][1],&g_333[7][1]}}};
+ uint64_t ***l_1118 = &l_1119[1][0][4];
+ int32_t l_1125 = (-7L);
+ uint16_t ***l_1129 = &g_642;
+ int16_t l_1159 = 0x354CL;
+ int64_t l_1215 = 6L;
+ uint64_t l_1239[5];
+ const uint16_t l_1271 = 65533UL;
+ int16_t l_1272 = 0x065AL;
+ int64_t *l_1331 = &g_778;
+ int i, j, k;
+ for (i = 0; i < 5; i++)
+ l_1239[i] = 0xE1DC6819E6A1D5B8LL;
+ for (g_578 = 0; (g_578 <= 0); g_578 += 1)
+ { /* block id: 492 */
+ int i;
+ for (l_449.f3 = 0; (l_449.f3 <= 0); l_449.f3 += 1)
+ { /* block id: 495 */
+ (*g_267) = (*g_267);
+ }
+ return g_67[(g_91 + 3)];
+ }
+ (*g_267) = func_99((0xD0B072D2L || l_1046[0]), g_383, l_1106[1][0], l_1107[0], &p_73);
+ p_69 = (safe_rshift_func_int8_t_s_u(l_1106[1][0].f3, 2));
+ for (g_130 = 0; (g_130 <= 0); g_130 += 1)
+ { /* block id: 504 */
+ uint64_t l_1111[6][3] = {{0xB02A9711D519CD71LL,0UL,0UL},{0xB02A9711D519CD71LL,0UL,0UL},{0xB02A9711D519CD71LL,0UL,0UL},{0xB02A9711D519CD71LL,0UL,0UL},{0xB02A9711D519CD71LL,0UL,0UL},{0xB02A9711D519CD71LL,0UL,0UL}};
+ int32_t l_1124 = 0x5544602EL;
+ int32_t l_1126 = 0x0C53A3EEL;
+ const union U0 l_1137 = {1L};
+ int64_t ***l_1226 = &g_277[0];
+ uint32_t l_1325 = 0xB38004C2L;
+ int i, j;
+ ++l_1111[1][0];
+ for (g_135 = 0; (g_135 <= 1); g_135 += 1)
+ { /* block id: 508 */
+ uint32_t l_1122 = 18446744073709551615UL;
+ int32_t l_1123 = 1L;
+ uint16_t ***l_1131[10] = {&g_642,&g_642,&g_642,&g_642,&g_642,&g_642,&g_642,&g_642,&g_642,&g_642};
+ uint16_t ** const *l_1132[2][3] = {{(void*)0,(void*)0,(void*)0},{&g_642,&g_642,&g_642}};
+ uint32_t l_1154 = 0x0F03542AL;
+ int32_t l_1158 = 0x24F7942FL;
+ int64_t ***l_1170[1][1][7];
+ union U0 l_1204 = {0x3DL};
+ const uint16_t l_1227 = 65535UL;
+ int i, j, k;
+ for (i = 0; i < 1; i++)
+ {
+ for (j = 0; j < 1; j++)
+ {
+ for (k = 0; k < 7; k++)
+ l_1170[i][j][k] = (void*)0;
+ }
+ }
+ l_1126 ^= (p_70 == ((l_1125 ^= (((safe_mul_func_int8_t_s_s(((p_69 , 6L) & (l_1124 = ((safe_sub_func_int8_t_s_s((l_1118 != (void*)0), ((safe_add_func_uint8_t_u_u((6L != (((l_1122 &= (p_73 &= (*g_127))) | 18446744073709551615UL) ^ g_209.f0)), 9UL)) == l_1123))) | 1UL))), (*g_983))) , l_1124) | p_70)) < (*g_268)));
+ }
+ if (p_73)
+ { /* block id: 588 */
+ int32_t * const l_1274 = &g_75[2];
+ int32_t **l_1275 = &g_1000;
+ (*l_1275) = l_1274;
+ (**g_1175) = l_1110[0][1][1];
+ for (g_159 = 0; (g_159 <= 0); g_159 += 1)
+ { /* block id: 593 */
+ uint8_t l_1276[6][9] = {{0xECL,5UL,0xECL,5UL,0xECL,5UL,0xECL,5UL,0xECL},{250UL,0xC6L,0xC6L,250UL,250UL,0xC6L,0xC6L,250UL,250UL},{0UL,5UL,0UL,5UL,0UL,5UL,0UL,5UL,0UL},{250UL,250UL,0xC6L,0xC6L,250UL,250UL,0xC6L,0xC6L,250UL},{0xECL,5UL,0xECL,5UL,0xECL,5UL,0xECL,5UL,0xECL},{250UL,0xC6L,0xC6L,250UL,250UL,0xC6L,0xC6L,250UL,250UL}};
+ int i, j;
+ if ((*g_1000))
+ break;
+ (*l_1274) ^= (p_69 = ((**l_1275) && p_72));
+ (*g_267) = func_99(((1UL > 65535UL) , l_1276[5][6]), g_274, l_1137, (*l_1083), (p_69 , &p_73));
+ }
+ }
+ else
+ { /* block id: 599 */
+ uint32_t *l_1283 = &g_204;
+ int32_t l_1284 = 9L;
+ (*g_267) = func_99(((safe_lshift_func_int8_t_s_s((g_458.f1 = (**l_1203)), 1)) || g_159), (((safe_sub_func_int64_t_s_s((safe_div_func_uint32_t_u_u(((*l_1283) = l_1137.f1), g_177)), (((((*l_448) = l_1284) , ((((safe_div_func_uint32_t_u_u((p_71 && 0xB48FL), (safe_lshift_func_int16_t_s_u(((*l_461) = (((((+((safe_div_func_uint16_t_u_u((((g_409[0][1] , l_1126) < 1UL) , 0x1B93L), p_72)) , (-1L))) ^ l_1126) , (void*)0) != (void*)0) == 0x15F9L)), 13)))) && l_1137.f0) != p_71) != l_1111[1][0])) , p_69) == g_183))) || (**g_642)) & p_72), l_1137, &l_1215, (**l_1226));
+ }
+ for (g_159 = 0; (g_159 <= 2); g_159 += 1)
+ { /* block id: 608 */
+ int32_t l_1322 = 1L;
+ int32_t l_1327 = (-7L);
+ if (((*g_457) , p_73))
+ { /* block id: 609 */
+ uint32_t * const **l_1293 = &l_1291;
+ int32_t l_1318 = 0x0E5EFF82L;
+ uint16_t l_1328 = 0xE7BCL;
+ (*l_1293) = l_1291;
+ for (l_1198.f3 = 0; (l_1198.f3 <= 0); l_1198.f3 += 1)
+ { /* block id: 613 */
+ uint32_t **l_1321 = &l_557;
+ int32_t l_1323 = 9L;
+ int i;
+ g_1326 &= (safe_mod_func_uint32_t_u_u((safe_lshift_func_uint8_t_u_s(((safe_mul_func_uint8_t_u_u((safe_mul_func_int16_t_s_s(((*l_461) = (((safe_mod_func_int64_t_s_s((safe_add_func_int16_t_s_s(0x728EL, (((**l_1203) >= ((safe_lshift_func_int16_t_s_s(g_629, 12)) , (safe_mod_func_int16_t_s_s((p_72 <= (safe_sub_func_int8_t_s_s((safe_lshift_func_int8_t_s_s((safe_mul_func_int8_t_s_s(g_75[2], (g_578 | (3UL ^ (safe_mod_func_uint32_t_u_u((+((l_1318 < (l_1126 = ((safe_sub_func_int8_t_s_s((((*l_1321) = l_557) != (void*)0), p_71)) | g_128[0][3][1]))) & p_73)), g_146)))))), p_69)), l_1322))), 0x0C7AL)))) || p_69))), l_1322)) && 1L) , g_204)), g_133)), l_1323)) , l_1324[0][1]), 2)), l_1325));
+ }
+ ++l_1328;
+ }
+ else
+ { /* block id: 620 */
+ int64_t **l_1333 = &l_1150;
+ int64_t ***l_1332[7][3];
+ const int64_t *l_1336 = &g_1337;
+ const int64_t **l_1335 = &l_1336;
+ int i, j;
+ for (i = 0; i < 7; i++)
+ {
+ for (j = 0; j < 3; j++)
+ l_1332[i][j] = &l_1333;
+ }
+ g_146 &= ((l_1331 = &l_1215) != ((*l_1335) = (((*g_276) == (g_1334 = &l_1150)) , (void*)0)));
+ }
+ }
+ }
+ }
+ p_69 = ((safe_mul_func_int8_t_s_s(((!p_70) , (p_71 = (safe_sub_func_uint16_t_u_u((safe_add_func_int32_t_s_s(((((**g_276) = (void*)0) != (((safe_lshift_func_int16_t_s_u(((*l_461) = (safe_add_func_uint8_t_u_u(((*g_983)--), (safe_sub_func_uint8_t_u_u(((*g_457) , (g_458.f1 & ((*l_454)--))), (0xE33CL & (**l_1203))))))), 1)) && ((*g_643) = 0xE1FCL)) , (void*)0)) ^ ((safe_rshift_func_uint8_t_u_u(((**l_1203) , 0xAAL), p_73)) && 9UL)), 0x35057CD6L)), (**l_1203))))), g_1086)) , p_73);
+ return p_71;
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads : g_20 g_91 g_4 g_128 g_130 g_132 g_147 g_159 g_133 g_135 g_177 g_67 g_183 g_146 g_206 g_209 g_127 g_204 g_209.f1 g_209.f0 g_209.f3 g_254 g_258 g_267 g_276 g_268 g_274 l_17
+ * writes: g_127 g_130 g_132 g_133 g_147 g_159 g_177 g_183 g_135 g_146 g_204 g_206 g_254 g_258 g_267 g_268
+ */
+static union U0 func_97(const int32_t * p_98)
+{ /* block id: 35 */
+ union U0 l_118[10][7][1] = {{{{0xC9L}},{{0L}},{{0xFDL}},{{-10L}},{{-1L}},{{-1L}},{{-10L}}},{{{0xFDL}},{{0L}},{{0xC9L}},{{0L}},{{0L}},{{0xEEL}},{{-1L}}},{{{0xEEL}},{{0L}},{{0L}},{{0xC9L}},{{0L}},{{0xFDL}},{{-10L}}},{{{-1L}},{{-1L}},{{-10L}},{{0xFDL}},{{0L}},{{0xC9L}},{{0L}}},{{{0L}},{{0xEEL}},{{-1L}},{{0xEEL}},{{0L}},{{0L}},{{0xC9L}}},{{{0L}},{{0xFDL}},{{-10L}},{{-1L}},{{-1L}},{{-10L}},{{0xFDL}}},{{{0L}},{{0xC9L}},{{0L}},{{0L}},{{0xEEL}},{{-1L}},{{0xEEL}}},{{{0L}},{{0L}},{{0xC9L}},{{0L}},{{0xFDL}},{{-10L}},{{-1L}}},{{{-1L}},{{-10L}},{{0xFDL}},{{0L}},{{0xC9L}},{{0L}},{{0L}}},{{{0xEEL}},{{-1L}},{{0xEEL}},{{0L}},{{0L}},{{0xC9L}},{{0L}}}};
+ int32_t *l_121 = &g_20;
+ int32_t *l_123 = (void*)0;
+ int32_t **l_122 = &l_123;
+ int64_t *l_124 = (void*)0;
+ int64_t *l_126 = &g_91;
+ int64_t **l_125[2];
+ uint8_t *l_129 = &g_130;
+ uint64_t *l_131 = &g_132;
+ int32_t l_142 = 0x28050347L;
+ int32_t l_158[8][5] = {{0x58A6C8DEL,0xA13AD1F1L,(-1L),0xA13AD1F1L,0x58A6C8DEL},{0L,0xBB4E128BL,0xBB4E128BL,0L,0x815FF81FL},{(-2L),0xA13AD1F1L,(-2L),(-1L),(-2L)},{0L,0L,0x7C678778L,0xBB4E128BL,0x815FF81FL},{0x58A6C8DEL,(-1L),(-1L),(-1L),0x58A6C8DEL},{0x815FF81FL,0xBB4E128BL,0x7C678778L,0L,0L},{(-2L),(-1L),(-2L),0xA13AD1F1L,(-2L)},{0x815FF81FL,0L,0xBB4E128BL,0xBB4E128BL,0L}};
+ int64_t l_162 = (-1L);
+ uint32_t *l_230 = (void*)0;
+ int64_t l_330[6][10] = {{3L,0x18470653C73B861FLL,0xCCF0B8B5409C4288LL,0L,0L,0xCCF0B8B5409C4288LL,0x18470653C73B861FLL,3L,0x18470653C73B861FLL,0xCCF0B8B5409C4288LL},{0xA5B1CB5A17DCD406LL,0x7E45F49753809639LL,0L,0x7E45F49753809639LL,0xA5B1CB5A17DCD406LL,0xCCF0B8B5409C4288LL,0xCCF0B8B5409C4288LL,0xA5B1CB5A17DCD406LL,0x7E45F49753809639LL,0L},{3L,3L,0L,0xA5B1CB5A17DCD406LL,0xE47515C299F0A386LL,0xA5B1CB5A17DCD406LL,0L,3L,3L,0L},{0x7E45F49753809639LL,0xA5B1CB5A17DCD406LL,0xCCF0B8B5409C4288LL,0xCCF0B8B5409C4288LL,0xA5B1CB5A17DCD406LL,0x7E45F49753809639LL,0L,0x7E45F49753809639LL,0xA5B1CB5A17DCD406LL,0xCCF0B8B5409C4288LL},{0x18470653C73B861FLL,3L,0x18470653C73B861FLL,0xCCF0B8B5409C4288LL,0L,0L,0xCCF0B8B5409C4288LL,0x18470653C73B861FLL,3L,0x18470653C73B861FLL},{0x18470653C73B861FLL,0x7E45F49753809639LL,3L,0xA5B1CB5A17DCD406LL,3L,0x7E45F49753809639LL,0x18470653C73B861FLL,0x18470653C73B861FLL,0x7E45F49753809639LL,3L}};
+ int32_t l_338 = 4L;
+ uint64_t l_353 = 1UL;
+ const uint64_t l_440 = 0x55F846FE51E95657LL;
+ uint16_t *l_444[2];
+ uint16_t **l_443 = &l_444[0];
+ int i, j, k;
+ for (i = 0; i < 2; i++)
+ l_125[i] = &l_126;
+ for (i = 0; i < 2; i++)
+ l_444[i] = (void*)0;
+ if ((safe_div_func_int32_t_s_s(g_20, (safe_lshift_func_int8_t_s_s((safe_unary_minus_func_uint64_t_u((g_91 < (g_133 = (g_91 != ((*l_131) &= (((*l_129) |= (l_118[4][5][0] , (g_4[3] == ((((safe_rshift_func_uint8_t_u_u((((!(l_121 != ((*l_122) = (void*)0))) , l_124) == (g_127 = &g_91)), 0)) , (*l_121)) & g_128[1][2][0]) <= 0x94F4A132L)))) , (*l_121)))))))), 7)))))
+ { /* block id: 41 */
+ int32_t *l_134 = &g_135;
+ int32_t *l_136 = (void*)0;
+ int32_t l_137 = 0x8EC8C7DFL;
+ int32_t *l_138 = &g_135;
+ int32_t *l_139 = (void*)0;
+ int32_t *l_140 = &g_135;
+ int32_t *l_141[2][10][5] = {{{&g_135,(void*)0,&g_135,&g_135,(void*)0},{(void*)0,&g_4[4],&g_4[0],(void*)0,&g_20},{(void*)0,&g_4[3],&g_4[1],&g_4[0],(void*)0},{(void*)0,(void*)0,(void*)0,(void*)0,&g_135},{&l_137,(void*)0,(void*)0,&g_20,(void*)0},{(void*)0,&g_20,&g_135,(void*)0,&g_135},{&g_4[0],&g_4[0],(void*)0,&g_20,(void*)0},{(void*)0,&g_4[4],&g_135,&g_4[0],(void*)0},{&g_135,(void*)0,&g_20,(void*)0,&g_135},{&l_137,&g_4[4],&g_20,&g_4[3],(void*)0}},{{&g_20,&g_4[0],(void*)0,(void*)0,(void*)0},{&g_4[3],&g_20,&g_4[3],&g_4[4],(void*)0},{&g_4[1],(void*)0,&g_4[0],&g_4[3],&g_135},{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0},{(void*)0,(void*)0,&g_4[0],&g_135,(void*)0},{&g_20,&g_20,&g_4[3],&g_135,&g_135},{&g_135,(void*)0,(void*)0,&g_135,(void*)0},{&g_20,(void*)0,&g_20,&l_137,&g_135},{(void*)0,&l_137,&g_20,&g_4[0],&g_20},{(void*)0,(void*)0,&g_135,&l_137,&g_20}}};
+ uint8_t l_143 = 0UL;
+ int i, j, k;
+ ++l_143;
+ g_147--;
+ }
+ else
+ { /* block id: 44 */
+ int32_t *l_150 = &l_142;
+ int32_t *l_151 = &l_142;
+ int32_t *l_152 = (void*)0;
+ int32_t *l_153 = &l_142;
+ int32_t *l_154 = &l_142;
+ int32_t *l_155 = &g_146;
+ int32_t *l_156 = &g_146;
+ int32_t *l_157[2];
+ int16_t l_222[5] = {(-1L),(-1L),(-1L),(-1L),(-1L)};
+ uint16_t *l_275 = &g_177;
+ int64_t *l_282 = &l_162;
+ int32_t **l_287 = &l_154;
+ union U0 l_299[3] = {{0L},{0L},{0L}};
+ int32_t l_306 = 0xE7992D64L;
+ uint8_t l_346 = 0x8BL;
+ uint8_t l_378 = 0UL;
+ uint16_t ***l_445 = &l_443;
+ int i;
+ for (i = 0; i < 2; i++)
+ l_157[i] = &g_135;
+ (*l_150) = 0xCCA6638CL;
+ g_159--;
+ for (g_133 = 0; (g_133 <= 0); g_133 += 1)
+ { /* block id: 49 */
+ uint16_t *l_176 = &g_177;
+ uint8_t *l_182 = &g_183;
+ int32_t l_202 = 0xFD7715F6L;
+ int32_t l_225 = 0xCDD8E95DL;
+ int32_t **l_265 = (void*)0;
+ uint64_t *l_278[2];
+ uint32_t *l_319 = &g_159;
+ union U0 l_352 = {0xE1L};
+ int64_t ***l_406 = &g_277[0];
+ int i;
+ for (i = 0; i < 2; i++)
+ l_278[i] = &g_132;
+ if (l_162)
+ break;
+ if ((safe_mul_func_uint16_t_u_u(g_132, (safe_lshift_func_int8_t_s_u(((!(safe_lshift_func_uint16_t_u_u((safe_mod_func_uint32_t_u_u(g_91, ((*l_153) = (safe_lshift_func_int8_t_s_u((safe_div_func_int16_t_s_s((g_135 != (((((safe_unary_minus_func_int64_t_s(0L)) <= g_4[3]) | ((*l_176)--)) , &g_132) != (void*)0)), ((((*l_182) = (g_130++)) || g_128[0][0][1]) ^ 0UL))), 1))))), 9))) == g_67[5]), g_159)))))
+ { /* block id: 55 */
+ int32_t *l_184[2][4][9] = {{{(void*)0,&g_135,&g_146,&g_146,&g_135,(void*)0,&g_135,&g_146,&g_146},{&g_135,&g_135,(void*)0,(void*)0,(void*)0,&g_135,&g_135,(void*)0,(void*)0},{(void*)0,&g_135,(void*)0,(void*)0,(void*)0,(void*)0,&g_135,(void*)0,(void*)0},{&g_4[3],(void*)0,(void*)0,&g_4[3],&l_142,&g_4[3],(void*)0,(void*)0,&g_4[3]}},{{&g_4[2],(void*)0,&g_146,(void*)0,&g_4[2],&g_4[2],(void*)0,&g_146,(void*)0},{(void*)0,&l_142,(void*)0,(void*)0,&l_142,(void*)0,&l_142,(void*)0,(void*)0},{&g_4[2],&g_4[2],(void*)0,&g_146,(void*)0,&g_4[2],&g_4[2],(void*)0,&g_146},{&g_4[3],&l_142,&g_4[3],(void*)0,(void*)0,&g_4[3],&l_142,&g_4[3],(void*)0}}};
+ int32_t *l_185 = &l_158[5][4];
+ int32_t l_226 = 0x35E0E7B4L;
+ int8_t l_227 = (-7L);
+ int8_t l_229 = 0x9BL;
+ int i, j, k;
+ l_185 = (l_184[1][2][2] = ((*l_122) = (void*)0));
+ for (g_135 = 0; (g_135 >= 0); g_135 -= 1)
+ { /* block id: 61 */
+ int16_t l_205 = 0x495EL;
+ for (l_142 = 0; (l_142 <= 0); l_142 += 1)
+ { /* block id: 64 */
+ uint32_t *l_199 = &g_159;
+ int32_t l_203 = 1L;
+ g_204 = (safe_sub_func_uint8_t_u_u((safe_sub_func_uint16_t_u_u((safe_lshift_func_uint8_t_u_s((!0xEBL), ((safe_mod_func_int32_t_s_s((*p_98), ((*l_121) & (safe_rshift_func_uint16_t_u_u((safe_unary_minus_func_int64_t_s((0x15133C6BL <= g_183))), ((safe_add_func_uint64_t_u_u(9UL, 0xE941047791FE6ADBLL)) | ((--(*l_199)) & ((*l_156) |= ((~l_202) || (((*l_131) = (g_130 , l_203)) | 0x206A442AE9B445DALL)))))))))) < g_67[3]))), g_128[0][0][0])), 0x5CL));
+ if (l_205)
+ break;
+ g_206--;
+ }
+ return g_209;
+ }
+ if (g_67[1])
+ { /* block id: 74 */
+ uint32_t *l_228 = &g_159;
+ int32_t l_238 = 0x66868886L;
+ int32_t l_257[8] = {(-6L),(-6L),(-6L),(-6L),(-6L),(-6L),(-6L),(-6L)};
+ const uint16_t *l_273 = &g_274;
+ int i;
+ if ((((((safe_add_func_uint32_t_u_u(((void*)0 != p_98), ((((safe_mul_func_uint16_t_u_u((((((safe_lshift_func_int8_t_s_s((safe_lshift_func_uint8_t_u_u((*l_121), 4)), (0UL & (g_4[0] , (((((*l_129) = (safe_mod_func_int64_t_s_s((l_222[3] = (*g_127)), g_204))) ^ l_202) <= ((((*l_228) = ((((safe_rshift_func_uint8_t_u_s((l_225 = ((-10L) || 4L)), 1)) & l_226) == l_227) | 1L)) && 0x4375D102L) | (*g_127))) <= g_209.f1))))) ^ g_209.f0) == 0x0DDE07FD64A67530LL) && 0L) , l_229), 0xA2EDL)) | (*g_127)) != 18446744073709551615UL) >= g_133))) || g_146) , g_209.f3) >= l_202) ^ g_91))
+ { /* block id: 79 */
+ int32_t **l_231 = (void*)0;
+ int32_t **l_232 = (void*)0;
+ int32_t **l_233 = (void*)0;
+ int32_t **l_234 = &l_152;
+ (*l_154) = (0x1EL >= 0L);
+ l_202 |= (((l_230 = l_155) != l_121) <= 0x0F1CL);
+ (*l_234) = ((*l_122) = (void*)0);
+ }
+ else
+ { /* block id: 85 */
+ uint32_t l_235 = 4294967295UL;
+ l_235--;
+ }
+ if (((*l_155) = (l_202 < g_4[3])))
+ { /* block id: 89 */
+ const int16_t l_245 = 0x1D43L;
+ uint64_t *l_248 = (void*)0;
+ int32_t l_249 = 0x4F5E980EL;
+ int32_t l_250 = (-1L);
+ int32_t l_251 = 0x2859D2BFL;
+ int32_t l_252 = 1L;
+ (*l_150) &= ((((*l_176) = 0xA8DEL) | l_238) >= ((*l_182) |= (safe_lshift_func_uint8_t_u_u((g_4[3] != g_146), 6))));
+ (*l_155) = (safe_lshift_func_int8_t_s_s(((safe_mod_func_int8_t_s_s(((l_245 ^ ((-1L) < (1UL <= ((((safe_div_func_uint32_t_u_u((((!((void*)0 != &g_132)) > ((&g_133 == (g_209.f1 , l_248)) >= (0x9357L || l_245))) <= (-3L)), 1L)) && g_209.f1) <= g_209.f0) <= 0xACL)))) <= (*g_127)), (-3L))) != 0UL), 3));
+ ++g_254;
+ }
+ else
+ { /* block id: 95 */
+ int32_t ***l_266 = &l_265;
+ const int32_t ***l_269 = &g_267;
+ const uint16_t *l_270 = &g_177;
+ const uint16_t **l_271 = (void*)0;
+ const uint16_t **l_272 = &l_270;
+ union U0 l_279[6][7] = {{{-7L},{1L},{1L},{1L},{1L},{-7L},{1L}},{{-3L},{-7L},{-7L},{-3L},{1L},{-3L},{-7L}},{{-10L},{-10L},{-7L},{1L},{-7L},{-10L},{-10L}},{{-10L},{-3L},{1L},{-3L},{-7L},{-7L},{-3L}},{{1L},{-10L},{1L},{-3L},{-3L},{1L},{-10L}},{{-3L},{-10L},{1L},{1L},{-10L},{-3L},{-10L}}};
+ union U0 *l_280[2];
+ int64_t * const l_281 = (void*)0;
+ int i, j;
+ for (i = 0; i < 2; i++)
+ l_280[i] = (void*)0;
+ --g_258[3];
+ (*l_156) = ((p_98 == p_98) != ((safe_mod_func_uint8_t_u_u((((l_238 ^ (safe_lshift_func_int16_t_s_u(((((*l_266) = l_265) != ((*l_269) = g_267)) , (l_257[5] > ((l_273 = ((*l_272) = l_270)) == l_275))), ((((!(g_209.f1 && 4294967295UL)) , 18446744073709551615UL) , 0xDDL) <= l_257[5])))) , &l_125[1]) != g_276), l_257[5])) >= l_238));
+ (**l_269) = func_99(((*l_176) = 0xD72BL), (~(&g_132 != ((+(***l_269)) , l_278[0]))), (l_118[1][1][0] = l_279[4][4]), l_281, l_282);
+ }
+ if ((*g_268))
+ break;
+ return g_209;
+ }
+ else
+ { /* block id: 108 */
+ uint32_t l_283 = 0x9C6F2927L;
+ uint32_t *l_286 = &l_283;
+ l_283 = 0L;
+ (*l_156) |= (safe_sub_func_uint32_t_u_u((g_147 || ((((*l_286) = g_91) , (65526UL <= (((l_287 != ((+l_225) , &l_151)) || (safe_lshift_func_uint16_t_u_s(0x0559L, 15))) >= (((1L == ((((*l_129) = ((-2L) > g_4[3])) > g_177) , g_20)) , g_147) == l_283)))) <= 8L)), g_20));
+ }
+ }
+ else
+ { /* block id: 114 */
+ uint32_t *l_292 = &g_254;
+ int8_t *l_297 = &g_209.f3;
+ int8_t *l_298[3];
+ int i;
+ for (i = 0; i < 3; i++)
+ l_298[i] = (void*)0;
+ (*l_153) = (**l_287);
+ g_135 ^= (safe_div_func_int16_t_s_s((((((((**g_267) >= ((*l_292) = ((void*)0 != (*g_267)))) > ((*l_282) = (safe_mod_func_uint32_t_u_u(0xB1D3D90BL, (safe_mul_func_int8_t_s_s(((+(g_130 , (*l_150))) <= ((*l_156) = g_209.f1)), (*l_121))))))) >= (((((~((g_183 || (-1L)) || g_274)) & 0x12DC9772L) ^ g_67[0]) == 3L) , (*l_121))) != 0xEB08L) == (*l_121)) , (*l_121)), (*l_121)));
+ (*l_122) = ((*l_287) = (*l_287));
+ for (g_132 = 0; (g_132 <= 1); g_132 += 1)
+ { /* block id: 124 */
+ return l_299[2];
+ }
+ }
+ (*g_267) = p_98;
+ for (g_132 = 0; (g_132 <= 0); g_132 += 1)
+ { /* block id: 131 */
+ const uint8_t l_328 = 253UL;
+ int8_t *l_329 = &g_209.f1;
+ int32_t l_345 = 0x37E602FBL;
+ int8_t l_379 = 0x45L;
+ int32_t l_381 = (-1L);
+ int64_t *** const l_405 = (void*)0;
+ }
+ }
+ (*l_445) = l_443;
+ }
+ return l_118[6][0][0];
+}
+
+
+/* ------------------------------------------ */
+/*
+ * reads :
+ * writes:
+ */
+static const int32_t * func_99(uint16_t p_100, int16_t p_101, union U0 p_102, int64_t * const p_103, int64_t * p_104)
+{ /* block id: 32 */
+ int64_t * const l_111 = &g_91;
+ int64_t * const *l_110 = &l_111;
+ int64_t * const **l_109 = &l_110;
+ const int32_t *l_112[3][1][6];
+ int i, j, k;
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 0; j < 1; j++)
+ {
+ for (k = 0; k < 6; k++)
+ l_112[i][j][k] = &g_4[3];
+ }
+ }
+ (*l_109) = &p_103;
+ return l_112[2][0][0];
+}
+
+
+
+
+/* ---------------------------------------- */
+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();
+ for (i = 0; i < 5; i++)
+ {
+ transparent_crc(g_4[i], "g_4[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ transparent_crc(g_20, "g_20", print_hash_value);
+ for (i = 0; i < 7; i++)
+ {
+ transparent_crc(g_67[i], "g_67[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_78, "g_78", print_hash_value);
+ transparent_crc(g_91, "g_91", print_hash_value);
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ for (k = 0; k < 3; k++)
+ {
+ transparent_crc(g_128[i][j][k], "g_128[i][j][k]", print_hash_value);
+ if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);
+
+ }
+ }
+ }
+ transparent_crc(g_130, "g_130", print_hash_value);
+ transparent_crc(g_132, "g_132", print_hash_value);
+ transparent_crc(g_133, "g_133", print_hash_value);
+ transparent_crc(g_135, "g_135", print_hash_value);
+ transparent_crc(g_146, "g_146", print_hash_value);
+ transparent_crc(g_147, "g_147", print_hash_value);
+ transparent_crc(g_159, "g_159", print_hash_value);
+ transparent_crc(g_177, "g_177", print_hash_value);
+ transparent_crc(g_183, "g_183", print_hash_value);
+ transparent_crc(g_204, "g_204", print_hash_value);
+ transparent_crc(g_206, "g_206", print_hash_value);
+ transparent_crc(g_209.f0, "g_209.f0", print_hash_value);
+ transparent_crc(g_209.f1, "g_209.f1", print_hash_value);
+ transparent_crc(g_209.f3, "g_209.f3", print_hash_value);
+ transparent_crc(g_253, "g_253", print_hash_value);
+ transparent_crc(g_254, "g_254", print_hash_value);
+ for (i = 0; i < 8; i++)
+ {
+ transparent_crc(g_258[i], "g_258[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ transparent_crc(g_274, "g_274", print_hash_value);
+ transparent_crc(g_380, "g_380", print_hash_value);
+ transparent_crc(g_383, "g_383", print_hash_value);
+ transparent_crc(g_384, "g_384", print_hash_value);
+ transparent_crc(g_408, "g_408", print_hash_value);
+ for (i = 0; i < 1; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ transparent_crc(g_409[i][j], "g_409[i][j]", print_hash_value);
+ if (print_hash_value) printf("index = [%d][%d]\n", i, j);
+
+ }
+ }
+ transparent_crc(g_458.f0, "g_458.f0", print_hash_value);
+ transparent_crc(g_458.f1, "g_458.f1", print_hash_value);
+ transparent_crc(g_458.f3, "g_458.f3", print_hash_value);
+ transparent_crc(g_471, "g_471", print_hash_value);
+ transparent_crc(g_578, "g_578", print_hash_value);
+ transparent_crc(g_629, "g_629", print_hash_value);
+ transparent_crc(g_708, "g_708", print_hash_value);
+ transparent_crc(g_746, "g_746", print_hash_value);
+ transparent_crc(g_778, "g_778", print_hash_value);
+ transparent_crc(g_888, "g_888", print_hash_value);
+ transparent_crc(g_1086, "g_1086", print_hash_value);
+ transparent_crc(g_1326, "g_1326", print_hash_value);
+ transparent_crc(g_1337, "g_1337", print_hash_value);
+ transparent_crc(g_1413, "g_1413", print_hash_value);
+ transparent_crc(g_1585, "g_1585", print_hash_value);
+ transparent_crc(g_1622, "g_1622", print_hash_value);
+ transparent_crc(g_1679, "g_1679", print_hash_value);
+ transparent_crc(g_1860, "g_1860", print_hash_value);
+ transparent_crc(g_1962, "g_1962", print_hash_value);
+ for (i = 0; i < 10; i++)
+ {
+ transparent_crc(g_2033[i], "g_2033[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ transparent_crc(g_2193.f0, "g_2193.f0", print_hash_value);
+ transparent_crc(g_2193.f1, "g_2193.f1", print_hash_value);
+ transparent_crc(g_2193.f3, "g_2193.f3", print_hash_value);
+ transparent_crc(g_2307, "g_2307", print_hash_value);
+ transparent_crc(g_2497, "g_2497", print_hash_value);
+ transparent_crc(g_2508, "g_2508", print_hash_value);
+ transparent_crc(g_2648, "g_2648", print_hash_value);
+ transparent_crc(g_2767, "g_2767", print_hash_value);
+ transparent_crc(g_2797, "g_2797", print_hash_value);
+ transparent_crc(g_2866, "g_2866", print_hash_value);
+ transparent_crc(g_2895, "g_2895", print_hash_value);
+ for (i = 0; i < 4; i++)
+ {
+ transparent_crc(g_3176[i], "g_3176[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ transparent_crc(g_3254, "g_3254", print_hash_value);
+ transparent_crc(g_3261, "g_3261", print_hash_value);
+ for (i = 0; i < 7; i++)
+ {
+ transparent_crc(g_3322[i], "g_3322[i]", print_hash_value);
+ if (print_hash_value) printf("index = [%d]\n", i);
+
+ }
+ transparent_crc(g_3340, "g_3340", print_hash_value);
+ transparent_crc(g_3407, "g_3407", print_hash_value);
+ transparent_crc(g_3485, "g_3485", print_hash_value);
+ transparent_crc(g_3515, "g_3515", print_hash_value);
+ transparent_crc(g_3578, "g_3578", print_hash_value);
+ transparent_crc(g_3815, "g_3815", print_hash_value);
+ transparent_crc(g_3847, "g_3847", print_hash_value);
+ transparent_crc(g_3879, "g_3879", print_hash_value);
+ transparent_crc(g_3880, "g_3880", print_hash_value);
+ platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
+ return 0;
+}
+
+/************************ statistics *************************
+XXX max struct depth: 0
+breakdown:
+ depth: 0, occurrence: 1041
+XXX total union variables: 31
+
+XXX non-zero bitfields defined in structs: 0
+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: 0
+breakdown:
+XXX full-bitfields structs in the program: 0
+breakdown:
+XXX times a bitfields struct's address is taken: 0
+XXX times a bitfields struct on LHS: 0
+XXX times a bitfields struct on RHS: 0
+XXX times a single bitfield on LHS: 0
+XXX times a single bitfield on RHS: 0
+
+XXX max expression depth: 47
+breakdown:
+ depth: 1, occurrence: 335
+ depth: 2, occurrence: 80
+ depth: 3, occurrence: 8
+ depth: 4, occurrence: 4
+ depth: 5, occurrence: 5
+ depth: 6, occurrence: 2
+ depth: 7, occurrence: 4
+ depth: 8, occurrence: 3
+ depth: 9, occurrence: 4
+ depth: 10, occurrence: 2
+ depth: 15, occurrence: 3
+ depth: 16, occurrence: 4
+ depth: 17, occurrence: 2
+ depth: 18, occurrence: 5
+ depth: 19, occurrence: 8
+ depth: 20, occurrence: 8
+ depth: 21, occurrence: 3
+ depth: 22, occurrence: 7
+ depth: 23, occurrence: 2
+ depth: 24, occurrence: 2
+ depth: 25, occurrence: 4
+ depth: 26, occurrence: 2
+ depth: 27, occurrence: 7
+ depth: 28, occurrence: 2
+ depth: 29, occurrence: 3
+ depth: 30, occurrence: 3
+ depth: 31, occurrence: 1
+ depth: 32, occurrence: 1
+ depth: 34, occurrence: 2
+ depth: 36, occurrence: 1
+ depth: 39, occurrence: 1
+ depth: 41, occurrence: 1
+ depth: 44, occurrence: 1
+ depth: 47, occurrence: 1
+
+XXX total number of pointers: 777
+
+XXX times a variable address is taken: 1700
+XXX times a pointer is dereferenced on RHS: 704
+breakdown:
+ depth: 1, occurrence: 460
+ depth: 2, occurrence: 141
+ depth: 3, occurrence: 54
+ depth: 4, occurrence: 38
+ depth: 5, occurrence: 9
+ depth: 6, occurrence: 2
+XXX times a pointer is dereferenced on LHS: 578
+breakdown:
+ depth: 1, occurrence: 460
+ depth: 2, occurrence: 71
+ depth: 3, occurrence: 35
+ depth: 4, occurrence: 10
+ depth: 5, occurrence: 1
+ depth: 6, occurrence: 1
+XXX times a pointer is compared with null: 83
+XXX times a pointer is compared with address of another variable: 24
+XXX times a pointer is compared with another pointer: 23
+XXX times a pointer is qualified to be dereferenced: 13137
+
+XXX max dereference level: 6
+breakdown:
+ level: 0, occurrence: 0
+ level: 1, occurrence: 3348
+ level: 2, occurrence: 779
+ level: 3, occurrence: 469
+ level: 4, occurrence: 276
+ level: 5, occurrence: 33
+ level: 6, occurrence: 10
+XXX number of pointers point to pointers: 359
+XXX number of pointers point to scalars: 399
+XXX number of pointers point to structs: 0
+XXX percent of pointers has null in alias set: 28.4
+XXX average alias set size: 1.47
+
+XXX times a non-volatile is read: 4088
+XXX times a non-volatile is write: 1844
+XXX times a volatile is read: 0
+XXX times read thru a pointer: 0
+XXX times a volatile is write: 0
+XXX times written thru a pointer: 0
+XXX times a volatile is available for access: 0
+XXX percentage of non-volatile access: 100
+
+XXX forward jumps: 2
+XXX backward jumps: 8
+
+XXX stmts: 344
+XXX max block depth: 5
+breakdown:
+ depth: 0, occurrence: 29
+ depth: 1, occurrence: 40
+ depth: 2, occurrence: 37
+ depth: 3, occurrence: 58
+ depth: 4, occurrence: 74
+ depth: 5, occurrence: 106
+
+XXX percentage a fresh-made variable is used: 15.7
+XXX percentage an existing variable is used: 84.3
+********************* end of statistics **********************/
+
diff --git a/tests/fuzz/21.c.txt b/tests/fuzz/21.c.txt
new file mode 100644
index 00000000..135eae10
--- /dev/null
+++ b/tests/fuzz/21.c.txt
@@ -0,0 +1 @@
+checksum = BE13AE15
diff --git a/tests/return64bit/test.c b/tests/return64bit/test.c
new file mode 100644
index 00000000..e75ee5c1
--- /dev/null
+++ b/tests/return64bit/test.c
@@ -0,0 +1,6 @@
+
+// This is just a trivial test function, the key bit of interest is that it returns a 64 bit long.
+long long test() {
+ long long x = ((long long)1234 << 32) + 5678;
+ return x;
+}
diff --git a/tests/return64bit/testbind.js b/tests/return64bit/testbind.js
new file mode 100644
index 00000000..f2cc0e7b
--- /dev/null
+++ b/tests/return64bit/testbind.js
@@ -0,0 +1,18 @@
+// This code represents a simple native JavaScript binding to a test C function
+// that returns a 64 bit long. Notice that the least significant 32 bits are
+// returned in the normal return value, but the most significant 32 bits are
+// returned via the accessor method Runtime.getTempRet0()
+
+var Module = {
+ 'noExitRuntime' : true
+};
+
+Module['runtest'] = function() {
+ var low = _test();
+ var high = Runtime.getTempRet0();
+
+ console.log("low = " + low);
+ console.log("high = " + high);
+};
+
+
diff --git a/tests/return64bit/testbindend.js b/tests/return64bit/testbindend.js
new file mode 100644
index 00000000..2218f14d
--- /dev/null
+++ b/tests/return64bit/testbindend.js
@@ -0,0 +1,2 @@
+
+})(); // End of self calling lambda used to wrap library.
diff --git a/tests/return64bit/testbindstart.js b/tests/return64bit/testbindstart.js
new file mode 100644
index 00000000..4956806b
--- /dev/null
+++ b/tests/return64bit/testbindstart.js
@@ -0,0 +1,3 @@
+
+(function() { // Start of self-calling lambda used to avoid polluting global namespace.
+
diff --git a/tests/sdl_audio_quickload.c b/tests/sdl_audio_quickload.c
deleted file mode 100644
index 1525d048..00000000
--- a/tests/sdl_audio_quickload.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <SDL/SDL.h>
-#include <SDL/SDL_mixer.h>
-#include <assert.h>
-#include <limits.h>
-#include <emscripten.h>
-
-Mix_Chunk *sound;
-
-void play() {
- int channel = Mix_PlayChannel(-1, sound, 1);
- assert(channel == 0);
-
- int result = 1;
- REPORT_RESULT();
-}
-
-int main(int argc, char **argv) {
- SDL_Init(SDL_INIT_AUDIO);
-
- int ret = Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024);
- assert(ret == 0);
-
- Uint16* buffer = (Uint16*)malloc(10*44100*sizeof(Uint16));
- for (Uint32 i = 0; i < 10*44100; ++i) {
- buffer[i] = (i * 5) % UINT32_MAX;
- }
- sound = Mix_QuickLoad_RAW((Uint8*) buffer, 10*44100*sizeof(Uint16));
- assert(sound);
-
- play();
-
- emscripten_run_script("element = document.createElement('input');"
- "element.setAttribute('type', 'button');"
- "element.setAttribute('value', 'replay!');"
- "element.setAttribute('onclick', 'Module[\"_play\"]()');"
- "document.body.appendChild(element);");
-
- printf("you should one sounds. press the button to replay!\n");
-
- return 0;
-}
-
diff --git a/tests/test_browser.py b/tests/test_browser.py
index b85c6e1c..aedc926a 100644
--- a/tests/test_browser.py
+++ b/tests/test_browser.py
@@ -1553,7 +1553,7 @@ void *getBindBuffer() {
def test_sdl_rotozoom(self):
shutil.copyfile(path_from_root('tests', 'screenshot.png'), os.path.join(self.get_dir(), 'screenshot.png'))
- self.btest('sdl_rotozoom.c', reference='sdl_rotozoom.png', args=['--preload-file', 'screenshot.png'])
+ self.btest('sdl_rotozoom.c', reference='sdl_rotozoom.png', args=['--preload-file', 'screenshot.png'], reference_slack=3)
def test_sdl_gfx_primitives(self):
self.btest('sdl_gfx_primitives.c', reference='sdl_gfx_primitives.png', reference_slack=1)
diff --git a/tests/test_core.py b/tests/test_core.py
index 600e2da8..6a920a7b 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -4934,6 +4934,8 @@ def process(filename):
print "disabling inlining" # without registerize (which -g disables), we generate huge amounts of code
Settings.INLINING_LIMIT = 50
+ #Settings.OUTLINING_LIMIT = 60000
+
self.do_run(r'''
#define SQLITE_DISABLE_LFS
#define LONGDOUBLE_TYPE double
@@ -5285,7 +5287,7 @@ def process(filename):
#if os.path.basename(name) != '4.c': continue
if 'newfail' in name: continue
if os.environ.get('EMCC_FAST_COMPILER') == '0' and os.path.basename(name) in [
- '18.cpp', '15.c'
+ '18.cpp', '15.c', '21.c'
]: continue # works only in fastcomp
if x == 'lto' and self.run_name == 'default' and os.path.basename(name) in [
'19.c'
@@ -6528,6 +6530,28 @@ def process(filename):
if self.emcc_args is None: return self.skip('needs emcc')
self.do_run_from_file(path_from_root('tests', 'test_locale.c'), path_from_root('tests', 'test_locale.out'))
+ def test_64bit_return_value(self):
+ # This test checks that the most significant 32 bits of a 64 bit long are correctly made available
+ # to native JavaScript applications that wish to interact with compiled code returning 64 bit longs.
+ # The MS 32 bits should be available in Runtime.getTempRet0() even when compiled with -O2 --closure 1
+ # Run with ./runner.py test_64bit_return_value
+
+ # Compile test.c and wrap it in a native JavaScript binding so we can call our compiled function from JS.
+ Popen([PYTHON, EMCC, path_from_root('tests', 'return64bit', 'test.c'), '--pre-js', path_from_root('tests', 'return64bit', 'testbindstart.js'), '--pre-js', path_from_root('tests', 'return64bit', 'testbind.js'), '--post-js', path_from_root('tests', 'return64bit', 'testbindend.js'), '-s', 'EXPORTED_FUNCTIONS=["_test"]', '-o', 'test.js', '-O2', '--closure', '1'], stdout=PIPE, stderr=PIPE).communicate()
+
+ # Simple test program to load the test.js binding library and call the binding to the
+ # C function returning the 64 bit long.
+ open(os.path.join(self.get_dir(), 'testrun.js'), 'w').write('''
+ var test = require("./test.js");
+ test.runtest();
+ ''')
+
+ # Run the test and confirm the output is as expected.
+ if NODE_JS in JS_ENGINES:
+ out = run_js('testrun.js', engine=NODE_JS, full_output=True)
+ assert "low = 5678" in out
+ assert "high = 1234" in out
+
# Generate tests for everything
def make_run(fullname, name=-1, compiler=-1, embetter=0, quantum_size=0,
typed_arrays=0, emcc_args=None, env=None):
diff --git a/tests/test_interactive.py b/tests/test_interactive.py
index aa1d96af..7c968f78 100644
--- a/tests/test_interactive.py
+++ b/tests/test_interactive.py
@@ -59,12 +59,6 @@ class interactive(BrowserCore):
Popen([PYTHON, EMCC, '-O2', '--minify', '0', os.path.join(self.get_dir(), 'sdl_audio_mix.c'), '--preload-file', 'sound.ogg', '--preload-file', 'music.ogg', '--preload-file', 'noise.ogg', '-o', 'page.html']).communicate()
self.run_browser('page.html', '', '/report_result?1')
- def test_sdl_audio_quickload(self):
- open(os.path.join(self.get_dir(), 'sdl_audio_quickload.c'), 'w').write(self.with_report_result(open(path_from_root('tests', 'sdl_audio_quickload.c')).read()))
-
- Popen([PYTHON, EMCC, '-O2', '--minify', '0', os.path.join(self.get_dir(), 'sdl_audio_quickload.c'), '-o', 'page.html', '-s', 'EXPORTED_FUNCTIONS=["_main", "_play"]']).communicate()
- self.run_browser('page.html', '', '/report_result?1')
-
def test_sdl_audio_beeps(self):
open(os.path.join(self.get_dir(), 'sdl_audio_beep.cpp'), 'w').write(self.with_report_result(open(path_from_root('tests', 'sdl_audio_beep.cpp')).read()))
diff --git a/tests/test_other.py b/tests/test_other.py
index 137a83b1..4a6296e0 100644
--- a/tests/test_other.py
+++ b/tests/test_other.py
@@ -2291,15 +2291,17 @@ mergeInto(LibraryManager.library, {
self.clear()
os.mkdir(outdir)
- process = Popen([PYTHON, EMCC, '-c', path_from_root('tests', 'hello_world.c'), '-o', outdir])
- process.communicate()
- assert(os.path.isfile(outdir + 'hello_world.o'))
+ process = Popen([PYTHON, EMCC, '-c', path_from_root('tests', 'hello_world.c'), '-o', outdir], stderr=PIPE)
+ out, err = process.communicate()
+ assert not err, err
+ assert os.path.isfile(outdir + 'hello_world.o')
self.clear()
os.mkdir(outdir)
- process = Popen([PYTHON, EMCC, '-c', path_from_root('tests', 'hello_world.c'), '-o', outdir, '--default-obj-ext', 'obj'])
- process.communicate()
- assert(os.path.isfile(outdir + 'hello_world.obj'))
+ process = Popen([PYTHON, EMCC, '-c', path_from_root('tests', 'hello_world.c'), '-o', outdir, '--default-obj-ext', 'obj'], stderr=PIPE)
+ out, err = process.communicate()
+ assert not err, err
+ assert os.path.isfile(outdir + 'hello_world.obj')
def test_doublestart_bug(self):
open('code.cpp', 'w').write(r'''
@@ -2789,3 +2791,14 @@ int main(int argc, char **argv) {
assert sizes[0] == 7 # no aliasing, all unique, fat tables
assert sizes[1] == 3 # aliased once more
+ def test_bad_export(self):
+ for m in ['', ' ']:
+ self.clear()
+ cmd = [PYTHON, EMCC, path_from_root('tests', 'hello_world.c'), '-s', 'EXPORTED_FUNCTIONS=["' + m + '_main"]']
+ print cmd
+ stdout, stderr = Popen(cmd, stderr=PIPE).communicate()
+ if m:
+ assert 'function requested to be exported, but not implemented: " _main"' in stderr, stderr
+ else:
+ self.assertContained('hello, world!', run_js('a.out.js'))
+
diff --git a/tools/shared.py b/tools/shared.py
index 826baa83..5305d46b 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -1836,7 +1836,11 @@ def unsuffixed_basename(name):
return os.path.basename(unsuffixed(name))
def safe_move(src, dst):
- if os.path.abspath(src) == os.path.abspath(dst):
+ src = os.path.abspath(src)
+ dst = os.path.abspath(dst)
+ if os.path.isdir(dst):
+ dst = os.path.join(dst, os.path.basename(src))
+ if src == dst:
return
shutil.move(src, dst)