From 55ba58508e65f70aed38ec57b78b46a83ecf9433 Mon Sep 17 00:00:00 2001 From: Fraser Adams <fraser.adams@blueyonder.co.uk> Date: Thu, 24 Apr 2014 08:32:52 +0100 Subject: [PATCH 01/18] The most significant 32 bits of a 64 bit long return value get passed in the global tempRet0, but this fails when asm.js and/or closure are enabled as tempRet0 was declared again inside the asm closure. This fix exports tempRet0 via an accessor method Runtime.getTempRet0() which is visible with or without optimisations being enabled --- tests/return64bit/test.c | 6 ++++++ tests/return64bit/testbind.js | 18 ++++++++++++++++++ tests/return64bit/testbindend.js | 2 ++ tests/return64bit/testbindstart.js | 3 +++ 4 files changed, 29 insertions(+) create mode 100644 tests/return64bit/test.c create mode 100644 tests/return64bit/testbind.js create mode 100644 tests/return64bit/testbindend.js create mode 100644 tests/return64bit/testbindstart.js diff --git a/tests/return64bit/test.c b/tests/return64bit/test.c new file mode 100644 index 0000000000000..e75ee5c13c557 --- /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 0000000000000..f2cc0e7b70c31 --- /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 0000000000000..2218f14d27d52 --- /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 0000000000000..4956806bd8f24 --- /dev/null +++ b/tests/return64bit/testbindstart.js @@ -0,0 +1,3 @@ + +(function() { // Start of self-calling lambda used to avoid polluting global namespace. + From e59333c486a97132698a1232ffdb1f5ae048d2b6 Mon Sep 17 00:00:00 2001 From: Fraser Adams <fraser.adams@blueyonder.co.uk> Date: Thu, 24 Apr 2014 08:41:41 +0100 Subject: [PATCH 02/18] Committing the actual change now --- emscripten.py | 16 +++++++++++++--- src/runtime.js | 6 ++++++ tests/test_core.py | 22 ++++++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/emscripten.py b/emscripten.py index c8122cb9fd61c..13492ba84a662 100755 --- a/emscripten.py +++ b/emscripten.py @@ -477,7 +477,7 @@ def fix_item(item): 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 @@ def math_fix(g): 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 @@ -647,6 +651,7 @@ def math_fix(g): Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) }; Runtime.stackSave = function() { return asm['stackSave']() }; Runtime.stackRestore = function(top) { asm['stackRestore'](top) }; +Runtime.getTempRet0 = asm['getTempRet0']; ''') # Set function table masks @@ -1056,7 +1061,7 @@ def keyfunc(other): 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 = [] @@ -1202,7 +1207,7 @@ def math_fix(g): HEAP8[tempDoublePtr+3|0] = HEAP8[ptr+3|0]; HEAP8[tempDoublePtr+4|0] = HEAP8[ptr+4|0]; HEAP8[tempDoublePtr+5|0] = HEAP8[ptr+5|0]; - HEAP8[tempDoublePtr+6|0] = HEAP8[ptr+6|0]; + HEAP8[tempDoublePtr+6|0] = HEAP8[ptr+6|0];f HEAP8[tempDoublePtr+7|0] = HEAP8[ptr+7|0]; } ''' + ''.join([''' @@ -1210,6 +1215,10 @@ def math_fix(g): 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)])] + funcs_js + [''' %s @@ -1225,6 +1234,7 @@ def math_fix(g): Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) }; Runtime.stackSave = function() { return asm['stackSave']() }; Runtime.stackRestore = function(top) { asm['stackRestore'](top) }; +Runtime.getTempRet0 = asm['getTempRet0']; ''') # Set function table masks diff --git a/src/runtime.js b/src/runtime.js index 63610d3b6e587..3974295dcbb96 100644 --- a/src/runtime.js +++ b/src/runtime.js @@ -96,6 +96,12 @@ 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. + getTempRet0: function() { + return tempRet0; + }, stackSave: function() { return STACKTOP; }, diff --git a/tests/test_core.py b/tests/test_core.py index 1b116c4acd350..97462cf9b8a61 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -6499,6 +6499,28 @@ def test_locale(self): 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): From ffc16737843833475ff0b6fc63c5cb815ee38457 Mon Sep 17 00:00:00 2001 From: Fraser Adams <fraser.adams@blueyonder.co.uk> Date: Thu, 24 Apr 2014 08:47:19 +0100 Subject: [PATCH 03/18] Fixed finger trouble typo added to emscripten.py --- emscripten.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emscripten.py b/emscripten.py index 13492ba84a662..bbc4dcb3b67a0 100755 --- a/emscripten.py +++ b/emscripten.py @@ -1207,7 +1207,7 @@ def math_fix(g): HEAP8[tempDoublePtr+3|0] = HEAP8[ptr+3|0]; HEAP8[tempDoublePtr+4|0] = HEAP8[ptr+4|0]; HEAP8[tempDoublePtr+5|0] = HEAP8[ptr+5|0]; - HEAP8[tempDoublePtr+6|0] = HEAP8[ptr+6|0];f + HEAP8[tempDoublePtr+6|0] = HEAP8[ptr+6|0]; HEAP8[tempDoublePtr+7|0] = HEAP8[ptr+7|0]; } ''' + ''.join([''' From 6aa34ba2a910d29749f90dc8a2b6b57f36a4350a Mon Sep 17 00:00:00 2001 From: Fraser Adams <fraser.adams@blueyonder.co.uk> Date: Sun, 27 Apr 2014 09:52:17 +0100 Subject: [PATCH 04/18] In fastcomp we actually need only tempRet0 and no higher indexes, removed the higher indexes --- emscripten.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/emscripten.py b/emscripten.py index bbc4dcb3b67a0..cc68e7a431d36 100755 --- a/emscripten.py +++ b/emscripten.py @@ -1061,7 +1061,7 @@ def keyfunc(other): 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)] + ['getTempRet%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 = [] @@ -1210,16 +1210,14 @@ def math_fix(g): 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; } -''' % (i, i) for i in range(10)]) + ''.join([''' -function getTempRet%d() { - return tempRet%d|0; +function getTempRet0() { + return tempRet0|0; } -''' % (i, i) for i in range(10)])] + funcs_js + [''' +'''] + funcs_js + [''' %s return %s; From 733dda0061bef045a99dd15db8b17ea3540db289 Mon Sep 17 00:00:00 2001 From: Fraser Adams <fraser.adams@blueyonder.co.uk> Date: Sat, 3 May 2014 08:33:17 +0100 Subject: [PATCH 05/18] Removed redundant wrapping function around Runtime.stackAlloc, Runtime.stackSave and Runtime.stackRestore assignments to their respective versions in the asm namespace. Reran test suite and retested with my own app which makes heavy use of stackSave and stackRestore. --- emscripten.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/emscripten.py b/emscripten.py index cc68e7a431d36..07f1249e51d13 100755 --- a/emscripten.py +++ b/emscripten.py @@ -648,9 +648,9 @@ def math_fix(g): 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.getTempRet0 = asm['getTempRet0']; ''') @@ -1229,9 +1229,9 @@ def math_fix(g): 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.getTempRet0 = asm['getTempRet0']; ''') From 875c2a297aef0e381b945e9789cc79766586832b Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Tue, 6 May 2014 14:10:34 -0700 Subject: [PATCH 06/18] some warnings on libc things we do not support; fixes #2313 --- src/library.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/library.js b/src/library.js index 751cc6d0ce8b3..0d649258a3e5d 100644 --- a/src/library.js +++ b/src/library.js @@ -762,12 +762,18 @@ LibraryManager.library = { // http://pubs.opengroup.org/onlinepubs/000095399/functions/crypt.html // TODO: Implement (probably compile from C). ___setErrNo(ERRNO_CODES.ENOSYS); +#if ASSERTIONS + Runtime.warnOnce('crypt() returning an error as we do not support it'); +#endif return 0; }, encrypt: function(block, edflag) { // void encrypt(char block[64], int edflag); // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html // TODO: Implement (probably compile from C). +#if ASSERTIONS + Runtime.warnOnce('encrypt() returning an error as we do not support it'); +#endif ___setErrNo(ERRNO_CODES.ENOSYS); }, fpathconf__deps: ['__setErrNo', '$ERRNO_CODES'], @@ -940,6 +946,9 @@ LibraryManager.library = { // It is possible to implement this using two device streams, but pipes make // little sense in a single-threaded environment, so we do not support them. ___setErrNo(ERRNO_CODES.ENOSYS); +#if ASSERTIONS + Runtime.warnOnce('pipe() returning an error as we do not support them'); +#endif return -1; }, pread__deps: ['$FS', '__setErrNo', '$ERRNO_CODES'], @@ -6208,8 +6217,10 @@ LibraryManager.library = { raise__deps: ['$ERRNO_CODES', '__setErrNo'], raise: function(sig) { - // TODO: ___setErrNo(ERRNO_CODES.ENOSYS); +#if ASSERTIONS + Runtime.warnOnce('raise() returning an error as we do not support it'); +#endif return -1; }, From 49387aa4de6dae35036916e0ef51a43847d7e6a8 Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Tue, 6 May 2014 16:25:45 -0700 Subject: [PATCH 07/18] emit >>0 in HEAP8, for consistency with HEAP16|32 --- src/parseTools.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/parseTools.js b/src/parseTools.js index 4396abd9f1778..0c413afac0172 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -1168,15 +1168,10 @@ function getHeapOffset(offset, type, forceAsm) { var sz = Runtime.getNativeTypeSize(type); var shifts = Math.log(sz)/Math.LN2; offset = '(' + offset + ')'; - if (shifts != 0) { - if (CHECK_HEAP_ALIGN) { - return '((CHECK_ALIGN_' + sz + '(' + offset + '|0)|0)>>' + shifts + ')'; - } else { - return '(' + offset + '>>' + shifts + ')'; - } + if (CHECK_HEAP_ALIGN && shifts > 0) { + return '((CHECK_ALIGN_' + sz + '(' + offset + '|0)|0)>>' + shifts + ')'; } else { - // we need to guard against overflows here, HEAP[U]8 expects a guaranteed int - return isJSVar(offset) ? offset : '(' + offset + '|0)'; + return '(' + offset + '>>' + shifts + ')'; } } From 490a4b27d1f8a93f09d44dc725e6042dcd7bd635 Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Tue, 6 May 2014 16:32:40 -0700 Subject: [PATCH 08/18] update setTemp* as well --- emscripten.py | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/emscripten.py b/emscripten.py index 38146c63fdabb..939ddbe82aa8c 100755 --- a/emscripten.py +++ b/emscripten.py @@ -611,21 +611,21 @@ def math_fix(g): } function copyTempFloat(ptr) { ptr = ptr|0; - HEAP8[tempDoublePtr] = HEAP8[ptr]; - HEAP8[tempDoublePtr+1|0] = HEAP8[ptr+1|0]; - HEAP8[tempDoublePtr+2|0] = HEAP8[ptr+2|0]; - HEAP8[tempDoublePtr+3|0] = HEAP8[ptr+3|0]; + HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; + HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; + HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; + HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; } function copyTempDouble(ptr) { ptr = ptr|0; - HEAP8[tempDoublePtr] = HEAP8[ptr]; - HEAP8[tempDoublePtr+1|0] = HEAP8[ptr+1|0]; - HEAP8[tempDoublePtr+2|0] = HEAP8[ptr+2|0]; - HEAP8[tempDoublePtr+3|0] = HEAP8[ptr+3|0]; - HEAP8[tempDoublePtr+4|0] = HEAP8[ptr+4|0]; - HEAP8[tempDoublePtr+5|0] = HEAP8[ptr+5|0]; - HEAP8[tempDoublePtr+6|0] = HEAP8[ptr+6|0]; - HEAP8[tempDoublePtr+7|0] = HEAP8[ptr+7|0]; + HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; + HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; + HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; + HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; + HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; + HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; + HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; + HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; } ''' + ''.join([''' function setTempRet%d(value) { @@ -1192,21 +1192,21 @@ def math_fix(g): } function copyTempFloat(ptr) { ptr = ptr|0; - HEAP8[tempDoublePtr] = HEAP8[ptr]; - HEAP8[tempDoublePtr+1|0] = HEAP8[ptr+1|0]; - HEAP8[tempDoublePtr+2|0] = HEAP8[ptr+2|0]; - HEAP8[tempDoublePtr+3|0] = HEAP8[ptr+3|0]; + HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; + HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; + HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; + HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; } function copyTempDouble(ptr) { ptr = ptr|0; - HEAP8[tempDoublePtr] = HEAP8[ptr]; - HEAP8[tempDoublePtr+1|0] = HEAP8[ptr+1|0]; - HEAP8[tempDoublePtr+2|0] = HEAP8[ptr+2|0]; - HEAP8[tempDoublePtr+3|0] = HEAP8[ptr+3|0]; - HEAP8[tempDoublePtr+4|0] = HEAP8[ptr+4|0]; - HEAP8[tempDoublePtr+5|0] = HEAP8[ptr+5|0]; - HEAP8[tempDoublePtr+6|0] = HEAP8[ptr+6|0]; - HEAP8[tempDoublePtr+7|0] = HEAP8[ptr+7|0]; + HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; + HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; + HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; + HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; + HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; + HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; + HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; + HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; } ''' + ''.join([''' function setTempRet%d(value) { From deb49776cf90ceb1033c741b568423d6a3bb5d46 Mon Sep 17 00:00:00 2001 From: Fraser Adams <fraser.adams@blueyonder.co.uk> Date: Wed, 7 May 2014 20:35:40 +0100 Subject: [PATCH 09/18] add Runtime.setTempRet0 method for symmetry --- emscripten.py | 2 ++ src/runtime.js | 3 +++ 2 files changed, 5 insertions(+) diff --git a/emscripten.py b/emscripten.py index 07f1249e51d13..94c6b61ce2809 100755 --- a/emscripten.py +++ b/emscripten.py @@ -651,6 +651,7 @@ def math_fix(g): Runtime.stackAlloc = asm['stackAlloc']; Runtime.stackSave = asm['stackSave']; Runtime.stackRestore = asm['stackRestore']; +Runtime.setTempRet0 = asm['setTempRet0']; Runtime.getTempRet0 = asm['getTempRet0']; ''') @@ -1232,6 +1233,7 @@ def math_fix(g): Runtime.stackAlloc = asm['stackAlloc']; Runtime.stackSave = asm['stackSave']; Runtime.stackRestore = asm['stackRestore']; +Runtime.setTempRet0 = asm['setTempRet0']; Runtime.getTempRet0 = asm['getTempRet0']; ''') diff --git a/src/runtime.js b/src/runtime.js index 3974295dcbb96..4466a3080cf3e 100644 --- a/src/runtime.js +++ b/src/runtime.js @@ -99,6 +99,9 @@ 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; }, From 42357af40b707c282d00f335bee1e87aab505a1e Mon Sep 17 00:00:00 2001 From: Dan Gohman <sunfish@mozilla.com> Date: Wed, 7 May 2014 16:28:52 -0700 Subject: [PATCH 10/18] Add the testcase for https://github.com/kripken/emscripten/issues/2334 to the testsuite. --- tests/fs/test_writeFile.cc | 43 +++++++++++++++++++++++++++++++++++++ tests/fs/test_writeFile.out | 3 +++ tests/test_core.py | 6 ++++++ 3 files changed, 52 insertions(+) create mode 100644 tests/fs/test_writeFile.cc create mode 100644 tests/fs/test_writeFile.out diff --git a/tests/fs/test_writeFile.cc b/tests/fs/test_writeFile.cc new file mode 100644 index 0000000000000..31466b8efbb99 --- /dev/null +++ b/tests/fs/test_writeFile.cc @@ -0,0 +1,43 @@ +// https://github.com/kripken/emscripten/issues/2334 + +#include <fstream> +#include <iostream> +#include <string> + +#include <emscripten/emscripten.h> + +int main() +{ + EM_ASM( + FS.writeFile("testfile", "a=1\nb=2\nc=3"); + ); + + std::ifstream file("testfile"); + + while(!file.eof() && !file.fail()) + { + std::string line; + getline(file, line); + std::string name; + + std::cout << "read " << line << std::endl; + + size_t equalsPos = 1; + + size_t notSpace = line.find_first_not_of(" \t", equalsPos); + + if(notSpace != std::string::npos && notSpace != equalsPos) + { + line.erase(std::remove_if(line.begin(), line.begin() + notSpace, isspace), line.end()); + + equalsPos = line.find('='); + } + + if(equalsPos == std::string::npos) + continue; + + name = line.substr(0, equalsPos); + } + + return 0; +} diff --git a/tests/fs/test_writeFile.out b/tests/fs/test_writeFile.out new file mode 100644 index 0000000000000..16e520be3e321 --- /dev/null +++ b/tests/fs/test_writeFile.out @@ -0,0 +1,3 @@ +read a=1 +read b=2 +read c=3 diff --git a/tests/test_core.py b/tests/test_core.py index cf2730d00eede..76d3415c5d0c0 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -4259,6 +4259,12 @@ def test_fs_trackingdelegate(self): out = path_from_root('tests', 'fs', 'test_trackingdelegate.out') self.do_run_from_file(src, out) + def test_fs_writeFile(self): + self.emcc_args += ['-s', 'DISABLE_EXCEPTION_CATCHING=1'] + src = path_from_root('tests', 'fs', 'test_writeFile.cc') + out = path_from_root('tests', 'fs', 'test_writeFile.out') + self.do_run_from_file(src, out) + def test_unistd_access(self): self.clear() if not self.is_emscripten_abi(): return self.skip('asmjs-unknown-emscripten needed for inline js') From ca8610ae8d1c1558dc4a6214a6ddb20b12c896db Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Wed, 7 May 2014 18:00:08 -0700 Subject: [PATCH 11/18] disable test_fs_writeFile in non-emcc modes --- tests/test_core.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_core.py b/tests/test_core.py index 76d3415c5d0c0..600e2da8b59bf 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -4260,7 +4260,8 @@ def test_fs_trackingdelegate(self): self.do_run_from_file(src, out) def test_fs_writeFile(self): - self.emcc_args += ['-s', 'DISABLE_EXCEPTION_CATCHING=1'] + if self.emcc_args is None: return self.skip('requires emcc') + self.emcc_args += ['-s', 'DISABLE_EXCEPTION_CATCHING=1'] # see issue 2334 src = path_from_root('tests', 'fs', 'test_writeFile.cc') out = path_from_root('tests', 'fs', 'test_writeFile.out') self.do_run_from_file(src, out) From 82ecd38e7a518e1086d5db355522287d546dcbf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= <jujjyl@gmail.com> Date: Thu, 8 May 2014 15:08:28 +0300 Subject: [PATCH 12/18] Remove multiply defined symbol error on emscripten_get_now() at link time when including emscripten.h in native builds. --- system/include/emscripten/emscripten.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/include/emscripten/emscripten.h b/system/include/emscripten/emscripten.h index 362a1337548af..66017a8ddf5b0 100644 --- a/system/include/emscripten/emscripten.h +++ b/system/include/emscripten/emscripten.h @@ -252,7 +252,7 @@ void emscripten_get_canvas_size(int *width, int *height, int *isFullscreen); double emscripten_get_now(void); #else #include <time.h> -double emscripten_get_now(void) { +static inline double emscripten_get_now(void) { return (1000*clock())/(double)CLOCKS_PER_SEC; } #endif From 9c613ffaac19bcc718c0c25e85fde7a3ec11f27c Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Thu, 8 May 2014 10:34:24 -0700 Subject: [PATCH 13/18] add two fuzz testcases related to stack coloring --- tests/fuzz/20.cpp | 977 +++++++++++++++++ tests/fuzz/20.cpp.txt | 1 + tests/fuzz/21.c | 2332 +++++++++++++++++++++++++++++++++++++++++ tests/fuzz/21.c.txt | 1 + tests/test_core.py | 2 +- 5 files changed, 3312 insertions(+), 1 deletion(-) create mode 100644 tests/fuzz/20.cpp create mode 100644 tests/fuzz/20.cpp.txt create mode 100644 tests/fuzz/21.c create mode 100644 tests/fuzz/21.c.txt diff --git a/tests/fuzz/20.cpp b/tests/fuzz/20.cpp new file mode 100644 index 0000000000000..619ac6976a161 --- /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 0000000000000..3bff09b8907bc --- /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 0000000000000..28720f01756f8 --- /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 0000000000000..135eae1061e03 --- /dev/null +++ b/tests/fuzz/21.c.txt @@ -0,0 +1 @@ +checksum = BE13AE15 diff --git a/tests/test_core.py b/tests/test_core.py index 600e2da8b59bf..fb53897ac6752 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -5285,7 +5285,7 @@ def run_all(x): #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' From d67cebe3945ea47360dd4b543255cfa732ed3a8b Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Thu, 8 May 2014 16:24:58 -0700 Subject: [PATCH 14/18] comment for massive --- tests/test_core.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_core.py b/tests/test_core.py index 04271192b876d..6a920a7b27f66 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -4934,6 +4934,8 @@ def test_sqlite(self): 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 From cc8909ac35e7991b725db49d1f095af50be9fad0 Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Thu, 8 May 2014 16:30:28 -0700 Subject: [PATCH 15/18] add reference slack for test_sdl_rotozoom for ubuntu 14.04/intel gpu --- tests/test_browser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_browser.py b/tests/test_browser.py index b85c6e1c6a8a0..aedc926a66631 100644 --- a/tests/test_browser.py +++ b/tests/test_browser.py @@ -1553,7 +1553,7 @@ def test_sdl_maprgba(self): 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) From 3aca411f788bf6db0e4eebacf4b8cf40076e11f6 Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Thu, 8 May 2014 16:57:34 -0700 Subject: [PATCH 16/18] ignore touch events that do not correspond to a tracked touch; fixes BananaBread crashes --- src/library_sdl.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/library_sdl.js b/src/library_sdl.js index 077f72eb0cdae..d5b2b35445db7 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -789,6 +789,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; From ad11863b6a26c4da4e500da165ea35e5a52c95b2 Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Fri, 9 May 2014 11:24:13 -0700 Subject: [PATCH 17/18] remove some warnings on moving files to directories --- tests/test_other.py | 14 ++++++++------ tools/shared.py | 6 +++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/tests/test_other.py b/tests/test_other.py index 137a83b136727..349a16b4619ce 100644 --- a/tests/test_other.py +++ b/tests/test_other.py @@ -2291,15 +2291,17 @@ def test_default_obj_ext(self): 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''' diff --git a/tools/shared.py b/tools/shared.py index 826baa832caba..5305d46b54fe5 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) From 5b8a74f2bc18167daf802ee11cd4631e61287a0a Mon Sep 17 00:00:00 2001 From: Alon Zakai <alonzakai@gmail.com> Date: Fri, 9 May 2014 14:26:17 -0700 Subject: [PATCH 18/18] 1.18.0 --- emscripten-version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emscripten-version.txt b/emscripten-version.txt index f9505a5cdc480..a36c9a1e082d1 100644 --- a/emscripten-version.txt +++ b/emscripten-version.txt @@ -1,2 +1,2 @@ -1.17.0 +1.18.0