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

Re: [csmith-dev] Fwd: Re: KCC, CSmith and undefined behaviour questions.



Thanks Radu for the verification. 

Seems the only remaining issue is accessing volatile through a non-volatile pointer,as in seed 2557024983 (see attached):

Trying to access an object declared with volatile type through a non-volatile lvalue:
      > in func_7 at program2.c:627:6
        in func_1 at program2.c:323:5
        in main at program2.c:1894:5

However, I have a hard time to pinpoint which pointer is pointing to a volatile object at line 627. I need some education here regarding the kcc output: does "program2.c:627:6" means line 627 and column 6, or line 627 and the 6th token? Anyways, I wish kcc was more specific on which variable caused the undefined behavior.

If someone can identify the "violating" pointer, please let me know. It definitely makes debugging much easier.

Thanks,
-Xuejun


On Wed, Jun 5, 2019 at 6:40 AM Radu Ometita <radu.ometita@iohk.io> wrote:
And the attachment..




Radu Ometita
FUNCTIONAL COMPILERS ENGINEER | CLUJ-NAPOCA

Website: www.iohk.io
Skype: rganogork
Twitter: @raduom
PGP Key ID: 0xD82CE70A


Input Output

Twitter Github LinkedIn YouTube Facebook Reddit Meetup CardanoAnnouncements
On Jun 5 2019, at 4:30 pm, Radu Ometita <radu.ometita@iohk.io> wrote:
Hi Xuejun.

I re-checked the generated files using the master branch of Csmith and noticed a significant reduction of undefined behaviours, but there are still some left.

I re-generated the program as program2.c and you can find the output from running the second program in kcc_exec2.txt. One of the programs is free of undefined behaviours.

Thanks a lot,



Radu Ometita
FUNCTIONAL COMPILERS ENGINEER | CLUJ-NAPOCA

Website: www.iohk.io
Skype: rganogork
Twitter: @raduom
PGP Key ID: 0xD82CE70A


Input Output


Twitter
Github
LinkedIn
YouTube
Facebook
Reddit
Meetup
CardanoAnnouncements
On Jun 4 2019, at 6:31 am, Xuejun Yang <nitsnow@gmail.com> wrote:
Hi Radu,

The issues are fixed now on the master branch. Please try it again and let us know if there are any remaining undefined behaviors in the generated programs.

Thanks,
-Xuejun


On Sun, May 19, 2019 at 3:47 PM Xuejun Yang <nitsnow@gmail.com> wrote:
Hi Radu, thanks for reporting the problem.

I have logged two issues:  https://github.com/csmith-project/csmith/issues/70   and https://github.com/csmith-project/csmith/issues/71 for the problems you reported. Both are related to unions. I welcome you to try it out after them are fixed to see if I covered all. ETA: one week.

Thanks again,

-Xuejun

On Thu, May 16, 2019 at 1:58 AM Radu Ometita <radu.ometita@iohk.io> wrote:
Hi Xuejun!

I am not sure if you have access to the original message exchange, but I provided this information to John.

Here is the relevant part, quoted from that email:

---
In directory 4070134944, in the file kcc_exec.txt, that contains output from running the program compiled with kcc we find the following (first) error:

Type of lvalue (int) not compatible with the effective type of the object being accessed (union U7):
      > in func_57 at program.c:1235:9
        in func_28 at program.c:683:6
        in func_1 at program.c:254:6
        in main at program.c:1595:5

    Undefined behavior (UB-EIO10):
        see C11 section 6.5:7 http://rvdoc.org/C11/6.5
        see C11 section J.2:1 item 37 http://rvdoc.org/C11/J.2
        see CERT-C section EXP39-C http://rvdoc.org/CERT-C/EXP39-C
        see MISRA-C section 8.1:3 http://rvdoc.org/MISRA-C/8.1

Another example for the same file is:

Indeterminate value used in an _expression_:
      > in func_57 at program.c:1235:9
        in func_28 at program.c:683:6
        in func_1 at program.c:254:6
        in main at program.c:1595:5

    Undefined behavior (UB-CEE2):
        see C11 section 6.2.4 http://rvdoc.org/C11/6.2.4
        see C11 section 6.7.9 http://rvdoc.org/C11/6.7.9
        see C11 section 6.8 http://rvdoc.org/C11/6.8
        see C11 section J.2:1 item 11 http://rvdoc.org/C11/J.2
        see CERT-C section EXP33-C http://rvdoc.org/CERT-C/EXP33-C
        see MISRA-C section 8.9:1 http://rvdoc.org/MISRA-C/8.9
        see MISRA-C section 8.1:3 http://rvdoc.org/MISRA-C/8.1

And an example from a different program (in directory 316048733/kcc_exec.txt):

Type of lvalue (volatile const unsigned int) not compatible with the effective type of the object being accessed (union U5 [1] [1]):
      > in main at program.c:1629:13

    Undefined behavior (UB-EIO10):
        see C11 section 6.5:7 http://rvdoc.org/C11/6.5
        see C11 section J.2:1 item 37 http://rvdoc.org/C11/J.2
        see CERT-C section EXP39-C http://rvdoc.org/CERT-C/EXP39-C
        see MISRA-C section 8.1:3 http://rvdoc.org/MISRA-C/8.1

Please feel free to ask any other questions that might help figure out this discrepancy.
---

Best regards,





Radu Ometita
FUNCTIONAL COMPILERS ENGINEER | CLUJ-NAPOCA

Website: www.iohk.io
Skype: rganogork
Twitter: @raduom
PGP Key ID: 0xD82CE70A


Input Output


Twitter
Github
LinkedIn
YouTube
Facebook
Reddit
Meetup
CardanoAnnouncements
On May 15 2019, at 1:21 am, Xuejun Yang <nitsnow@gmail.com> wrote:
Hi Radu,

Free of undefined behaviors is a top promise we made for Csmith. We sure will fix it if the problem in on our end. It will be super helpful if you can pinpoint to the exact undefined behaviors in the generated code.

Thanks,
-Xuejun

On Tue, May 14, 2019 at 7:06 AM John Regehr <regehr@cs.utah.edu> wrote:
Hi Xuejun et al.,

Please see the attached Csmith-generated programs and some associated
defect reports. The claim is that Csmith is emitting ill-formed
programs. We should try to figure out what's going on here, and whether
we want to fix things.

John



-------- Forwarded Message --------
Subject:        Re: KCC, CSmith and undefined behaviour questions.
Date:   Tue, 7 May 2019 19:25:41 +0300
From:   Radu Ometita <radu.ometita@iohk.io>
To:     John Regehr <regehr@cs.utah.edu>
CC:     Chris Hathhorn <chris.hathhorn@runtimeverification.com>, Philip
Wadler <wadler@inf.ed.ac.uk>, Philip Wadler <philip.wadler@iohk.io>



Hi everyone!

I am coming back with some specific cases where KCC detects undefined
behaviours for C code generated with CSmith (version 2.3.0).

Reading the CSmith paper I found the following paragraph (section 2.2):

"The C99 language [11] has 191 undefined behaviors—e.g., dereferencing a
null pointer or overflowing a signed integer—that destroy the meaning of
a program ... Programs emitted by Csmith must avoid all of these
behaviors or, in certain cases such as argument-evaluation order, be
independent of the choices that will be made by the compiler. Many
undefined and unspecified behaviors can be avoided structurally by
generating programs in such a way that problems never arise. However, a
number of important undefined and unspecified behaviors are not easy to
avoid in a structural fashion. In these cases, Csmith solves the problem
using static analysis and by adding run-time checks to the generated code"

The three runs I am sending appear to be a counter-example to the
paper's claim. Do you agree?

I have attached an archive where each directory is the seed used to
generate the program.c file, and there are <compiler>_compile.txt and
<compiler>_exec.txt with the output from compilation and execution.

Best regards,




*Radu Ometita*
FUNCTIONAL COMPILERS ENGINEER | CLUJ-NAPOCA

Skype: rganogork
Twitter: @raduom
PGP Key ID: 0xD82CE70A


Input Output <http://iohk.io>

On May 7 2019, at 7:25 am, John Regehr <regehr@cs.utah.edu> wrote:

     There is no way to answer this question abstractly.

     However, it should be easy to answer it by looking at the behaviors of
     the generated program, the alarms emitted by KCC, and the C
standard(s).

     John


     On 5/6/19 2:15 PM, Radu Ometita wrote:

         Hi everyone,

         In our test runs, KCC detects `errors` (undefined behaviours *and*
         constraint violations) in 80% of the C code generated by CSmith,
         although the CSmith paper claims that CSmith avoids undefined
         behaviours. We currently have a few hypotheses, but we would
         appreciate
         your help with deciding which one is most probably true.

         (1) KCC yields false positives (that is, it labels well-defined
         code as
         having undefined behaviours) .
         (2) CSmith does not check for constraint violations when
         generating code.
         (3) CSmith does not avoid all possible undefined behaviours.

         Best regards,



         *Radu Ometita*
         FUNCTIONAL COMPILERS ENGINEER | CLUJ-NAPOCA

         Website: www.iohk.io <http://iohk.io>
         Skype: rganogork
         Twitter: @raduom
         PGP Key ID: 0xD82CE70A


         Input Output <http://iohk.io>

         Twitter <https://twitter.com/InputOutputHK> Github
         <https://github.com/input-output-hk> LinkedIn
         <https://www.facebook.com/iohk.io/> Reddit
         <https://www.reddit.com/r/cardano/> Meetup
         <https://www.meetup.com/pro/cardano/> CardanoAnnouncements
/*
 * This is a RANDOMLY GENERATED PROGRAM.
 *
 * Generator: csmith 2.4.0
 * Git version: de629fd
 * Options:   --seed 2557024983
 * Seed:      2557024983
 */

#include "csmith.h"


static long __undefined;

/* --- Struct/Union Declarations --- */
#pragma pack(push)
#pragma pack(1)
struct S0 {
   uint8_t  f0;
   const volatile uint64_t  f1;
   const uint8_t  f2;
};
#pragma pack(pop)

union U1 {
   struct S0  f0;
   uint32_t  f1;
   uint64_t  f2;
   uint32_t  f3;
   uint32_t  f4;
};

/* --- GLOBAL VARIABLES --- */
static int16_t g_12[4] = {(-1L),(-1L),(-1L),(-1L)};
static volatile int32_t g_21 = 1L;/* VOLATILE GLOBAL g_21 */
static volatile int32_t g_22 = (-8L);/* VOLATILE GLOBAL g_22 */
static volatile int32_t g_23 = 0xD921B0AEL;/* VOLATILE GLOBAL g_23 */
static int32_t g_24 = 0L;
static volatile int32_t g_27[4] = {0x470ED99EL,0x470ED99EL,0x470ED99EL,0x470ED99EL};
static volatile int32_t g_28 = 1L;/* VOLATILE GLOBAL g_28 */
static int32_t g_29 = 8L;
static struct S0 g_33 = {0x4AL,0x41A80D1C1D686A37LL,0xD5L};/* VOLATILE GLOBAL g_33 */
static struct S0 *g_35 = &g_33;
static struct S0 ** volatile g_34 = &g_35;/* VOLATILE GLOBAL g_34 */
static uint64_t g_49 = 18446744073709551615UL;
static int64_t g_75 = 7L;
static uint64_t g_95[3][8][8] = {{{1UL,0xCACF6402D6FA87DCLL,0xEDA02901D39A42C7LL,1UL,18446744073709551611UL,0xEDA02901D39A42C7LL,0xEEA2DBBA47006215LL,0UL},{0UL,0x3C15289768AFA152LL,0x949F0E3FDF4734A2LL,4UL,0UL,0x2B13749941B8E2A6LL,1UL,0xC7D0B67C402FB512LL},{0UL,0UL,0x27841B20306C0CD1LL,1UL,4UL,18446744073709551608UL,1UL,7UL},{18446744073709551615UL,0UL,0xEB839B4770DDAD4DLL,0UL,0x696B6C30C227312BLL,0xEDA02901D39A42C7LL,7UL,0UL},{7UL,0xEEA2DBBA47006215LL,0UL,0xC7D0B67C402FB512LL,0xF2C4EE0C605F7783LL,5UL,0UL,0xCACF6402D6FA87DCLL},{0UL,0UL,7UL,7UL,0x88FD2EAD1D304E80LL,1UL,0UL,0x37858094BF1C6CB5LL},{18446744073709551611UL,7UL,0xFF36FBD3DF35B7EELL,0x88FD2EAD1D304E80LL,5UL,5UL,0x88FD2EAD1D304E80LL,0xFF36FBD3DF35B7EELL},{0xEB839B4770DDAD4DLL,0xEB839B4770DDAD4DLL,18446744073709551613UL,0xFFE2AA969AAE9A15LL,0x2487F0BBFFD32083LL,1UL,0UL,0x324EF461E62ED8E9LL}},{{1UL,0x88FD2EAD1D304E80LL,7UL,7UL,0UL,0UL,0x6E0AFCEDF4A203F8LL,0x324EF461E62ED8E9LL},{0x88FD2EAD1D304E80LL,18446744073709551607UL,0x59947D9BA7415234LL,0xFFE2AA969AAE9A15LL,1UL,0x63023C0783B07946LL,1UL,0xFF36FBD3DF35B7EELL},{1UL,4UL,0x41AB084DB6C23AF2LL,0x88FD2EAD1D304E80LL,0UL,0x01F688490A13E652LL,4UL,0x37858094BF1C6CB5LL},{0x874B34BCD0122BF4LL,0x324EF461E62ED8E9LL,0xE4639A721153E23BLL,7UL,0xEB839B4770DDAD4DLL,18446744073709551613UL,0x0EE2FB047B2A2353LL,0xCACF6402D6FA87DCLL},{0x27841B20306C0CD1LL,5UL,0x57C19DE87A905BEALL,0x56AB65697B4E6B2ELL,0x0EE2FB047B2A2353LL,9UL,0UL,0x0EE2FB047B2A2353LL},{1UL,0xEDA02901D39A42C7LL,0UL,1UL,1UL,0xC7D0B67C402FB512LL,0x324EF461E62ED8E9LL,0x88FD2EAD1D304E80LL},{0x63023C0783B07946LL,18446744073709551608UL,1UL,0xE4639A721153E23BLL,0UL,0x63023C0783B07946LL,18446744073709551607UL,0x56AB65697B4E6B2ELL},{18446744073709551615UL,0x2B13749941B8E2A6LL,7UL,0x324EF461E62ED8E9LL,7UL,0x949F0E3FDF4734A2LL,18446744073709551608UL,0x949F0E3FDF4734A2LL}},{{0xEB839B4770DDAD4DLL,0xEDA02901D39A42C7LL,9UL,0xEDA02901D39A42C7LL,0xEB839B4770DDAD4DLL,0x3C15289768AFA152LL,0x2487F0BBFFD32083LL,0x696B6C30C227312BLL},{18446744073709551615UL,0xEB839B4770DDAD4DLL,0x0EE2FB047B2A2353LL,1UL,0x88FD2EAD1D304E80LL,18446744073709551613UL,9UL,0xEDA02901D39A42C7LL},{0x9F7867F40E302F92LL,0x57C19DE87A905BEALL,0x0EE2FB047B2A2353LL,1UL,18446744073709551607UL,0x28E6A876A4828161LL,0x2487F0BBFFD32083LL,7UL},{0x88FD2EAD1D304E80LL,4UL,9UL,0x696B6C30C227312BLL,4UL,18446744073709551613UL,18446744073709551608UL,0xD5547B12BF80AFD4LL},{0x28E6A876A4828161LL,0x10BDBE7998387B67LL,7UL,0x0EE2FB047B2A2353LL,0x324EF461E62ED8E9LL,0UL,18446744073709551607UL,0x37858094BF1C6CB5LL},{0x3687E89A4CE3ABF9LL,0x63023C0783B07946LL,1UL,0UL,5UL,18446744073709551615UL,0x324EF461E62ED8E9LL,1UL},{0UL,0xEB839B4770DDAD4DLL,0UL,0x696B6C30C227312BLL,0xEDA02901D39A42C7LL,7UL,0UL,0x2487F0BBFFD32083LL},{0x949F0E3FDF4734A2LL,0x2487F0BBFFD32083LL,0x57C19DE87A905BEALL,7UL,18446744073709551608UL,1UL,0x0EE2FB047B2A2353LL,0xEDA02901D39A42C7LL}}};
static int8_t g_98 = (-3L);
static uint64_t g_102 = 0UL;
static int32_t ** volatile g_114 = (void*)0;/* VOLATILE GLOBAL g_114 */
static uint64_t *g_129 = (void*)0;
static int64_t g_145 = 0xA2038483835E1D1ALL;
static uint8_t *g_162 = &g_33.f0;
static int32_t *g_179 = &g_29;
static int32_t **g_178 = &g_179;
static int8_t g_195 = 4L;
static int32_t g_225 = 0x4B9EDBE4L;
static volatile struct S0 g_228[5] = {{0UL,18446744073709551614UL,0x8FL},{0UL,18446744073709551614UL,0x8FL},{0UL,18446744073709551614UL,0x8FL},{0UL,18446744073709551614UL,0x8FL},{0UL,18446744073709551614UL,0x8FL}};
static uint16_t g_243 = 0x4781L;
static int16_t g_247 = 0xF5F7L;
static const uint64_t g_267 = 0x6A2BAD97F3C724B4LL;
static int64_t g_273[6][2] = {{5L,5L},{5L,5L},{5L,5L},{5L,5L},{5L,5L},{5L,5L}};
static struct S0 g_278 = {1UL,0xEE13EF043119678BLL,0UL};/* VOLATILE GLOBAL g_278 */
static volatile uint8_t g_314 = 4UL;/* VOLATILE GLOBAL g_314 */
static union U1 g_345 = {{0UL,0xC9D51296F2B2D53CLL,0x9BL}};/* VOLATILE GLOBAL g_345 */
static int64_t g_361[7] = {0xEAFA43AA53892412LL,0xEAFA43AA53892412LL,0xEAFA43AA53892412LL,0xEAFA43AA53892412LL,0xEAFA43AA53892412LL,0xEAFA43AA53892412LL,0xEAFA43AA53892412LL};
static int16_t g_362[5][9][5] = {{{7L,(-1L),(-6L),(-9L),0x5890L},{0x8747L,0x7E13L,4L,(-8L),0L},{0L,(-9L),0x3AECL,0x0591L,0xB275L},{7L,1L,(-8L),0x40F8L,(-1L)},{0x2ECAL,0x5A26L,2L,2L,0x5A26L},{9L,0x64FAL,0L,0x2CC4L,0x1A28L},{(-9L),0xABB8L,0xED35L,1L,4L},{0x62A3L,(-2L),0x40F8L,0xA742L,0x9327L},{(-9L),0x0591L,0x5A26L,0L,0xED35L}},{{9L,0x5A2CL,0x871EL,0xE7C1L,1L},{0x2ECAL,0x15D7L,5L,(-6L),5L},{7L,7L,0L,0x64FAL,0xE7C1L},{0x89FAL,0xEA67L,0x15D7L,0x5B19L,0x5890L},{0L,0xE7C1L,(-4L),(-1L),(-7L)},{0x5B19L,0xEA67L,0x75B9L,(-9L),0x89FAL},{0x9327L,7L,1L,(-8L),0x40F8L},{0xB275L,0x15D7L,(-6L),3L,3L},{(-6L),0x5A2CL,(-6L),4L,0x8747L}},{{0x75B9L,0x0591L,0x5890L,5L,(-9L)},{0x7F81L,(-2L),1L,0x1A28L,9L},{0L,0xABB8L,0x5890L,(-9L),(-6L)},{0x871EL,0x64FAL,(-6L),0x7F81L,0xC6E1L},{0x4B52L,0x5A26L,(-6L),0xEA67L,0xC938L},{(-4L),1L,1L,(-4L),(-2L)},{0x1387L,0x2ECAL,0x75B9L,0L,0x3AECL},{0x64FAL,0x2CC4L,(-4L),9L,0x7F81L},{4L,0xC7BFL,0x15D7L,0L,0x2ECAL}},{{0x5A2CL,0xC6E1L,0L,(-4L),0x62A3L},{7L,4L,5L,0xEA67L,1L},{1L,0x7F81L,0x871EL,0x7F81L,1L},{0x3AECL,5L,0x5A26L,(-9L),0L},{0xA742L,1L,0x40F8L,0x1A28L,(-1L)},{0L,(-9L),0xED35L,5L,0L},{0x8747L,0x1A28L,0L,4L,1L},{0L,0xB275L,2L,3L,1L},{0x1A28L,0x62A3L,(-8L),(-8L),0x62A3L}},{{0x5890L,0L,0xEA67L,(-9L),0x2ECAL},{0x2CC4L,0x5BF5L,(-2L),(-1L),0x7F81L},{0x5A26L,0xED35L,3L,0x5B19L,0x3AECL},{0x2CC4L,4L,0x62A3L,0x64FAL,(-2L)},{0x5890L,0x75B9L,0x1387L,3L,0L},{0x7F81L,0x2CC4L,0x9327L,0x40F8L,0x9327L},{0xEFD0L,0xEFD0L,0L,0x89FAL,3L},{0L,(-1L),0x2CC4L,(-7L),(-1L)},{0L,3L,0xB275L,0x5890L,0x2ECAL}}};
static struct S0 * const  volatile * volatile g_363 = &g_35;/* VOLATILE GLOBAL g_363 */
static int32_t * volatile g_383 = (void*)0;/* VOLATILE GLOBAL g_383 */
static int8_t *g_415 = &g_195;
static int8_t **g_414[6][6] = {{&g_415,&g_415,&g_415,&g_415,&g_415,&g_415},{&g_415,&g_415,&g_415,&g_415,&g_415,&g_415},{&g_415,&g_415,&g_415,&g_415,&g_415,&g_415},{&g_415,&g_415,&g_415,&g_415,&g_415,&g_415},{&g_415,&g_415,&g_415,&g_415,&g_415,&g_415},{&g_415,&g_415,&g_415,&g_415,&g_415,&g_415}};
static int8_t ** const *g_413 = &g_414[2][4];
static int8_t ** const ** volatile g_412 = &g_413;/* VOLATILE GLOBAL g_412 */
static volatile struct S0 g_474 = {1UL,0x59D98ACD116746D8LL,0x29L};/* VOLATILE GLOBAL g_474 */
static int32_t g_476 = (-8L);
static uint8_t **g_483 = &g_162;
static uint8_t ***g_482[5][10][5] = {{{&g_483,&g_483,&g_483,&g_483,(void*)0},{&g_483,&g_483,&g_483,&g_483,&g_483},{(void*)0,&g_483,(void*)0,(void*)0,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,(void*)0,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,(void*)0,&g_483,&g_483},{&g_483,&g_483,&g_483,(void*)0,&g_483},{&g_483,&g_483,&g_483,&g_483,(void*)0},{(void*)0,&g_483,&g_483,&g_483,&g_483}},{{(void*)0,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,(void*)0,(void*)0,&g_483,(void*)0},{&g_483,(void*)0,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{(void*)0,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,(void*)0,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483}},{{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,(void*)0,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,(void*)0,&g_483,(void*)0},{&g_483,&g_483,(void*)0,(void*)0,&g_483},{&g_483,&g_483,&g_483,&g_483,(void*)0},{&g_483,(void*)0,&g_483,&g_483,(void*)0},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483}},{{(void*)0,&g_483,&g_483,(void*)0,&g_483},{(void*)0,(void*)0,&g_483,&g_483,&g_483},{&g_483,(void*)0,&g_483,&g_483,(void*)0},{(void*)0,&g_483,(void*)0,&g_483,&g_483},{(void*)0,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{(void*)0,(void*)0,&g_483,&g_483,&g_483},{(void*)0,&g_483,&g_483,(void*)0,&g_483},{&g_483,&g_483,&g_483,&g_483,(void*)0},{(void*)0,&g_483,&g_483,&g_483,&g_483}},{{(void*)0,(void*)0,&g_483,&g_483,&g_483},{&g_483,(void*)0,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,(void*)0,&g_483},{&g_483,&g_483,&g_483,&g_483,(void*)0},{&g_483,&g_483,&g_483,&g_483,(void*)0},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{&g_483,&g_483,&g_483,&g_483,&g_483},{(void*)0,&g_483,&g_483,&g_483,&g_483},{&g_483,(void*)0,&g_483,(void*)0,(void*)0}}};
static uint8_t **** volatile g_481 = &g_482[0][5][2];/* VOLATILE GLOBAL g_481 */
static struct S0 g_555 = {246UL,18446744073709551614UL,0x66L};/* VOLATILE GLOBAL g_555 */
static struct S0 g_556 = {6UL,0x717860A0BDABA20ALL,1UL};/* VOLATILE GLOBAL g_556 */
static union U1 g_615[1][3][4] = {{{{{249UL,0UL,8UL}},{{9UL,0x1A0B44E548A583ADLL,0xD0L}},{{249UL,0UL,8UL}},{{9UL,0x1A0B44E548A583ADLL,0xD0L}}},{{{249UL,0UL,8UL}},{{9UL,0x1A0B44E548A583ADLL,0xD0L}},{{249UL,0UL,8UL}},{{9UL,0x1A0B44E548A583ADLL,0xD0L}}},{{{249UL,0UL,8UL}},{{9UL,0x1A0B44E548A583ADLL,0xD0L}},{{249UL,0UL,8UL}},{{9UL,0x1A0B44E548A583ADLL,0xD0L}}}}};
static const union U1 *g_614[4][10][6] = {{{&g_345,&g_615[0][1][0],&g_615[0][1][2],(void*)0,(void*)0,(void*)0},{&g_615[0][0][2],&g_345,&g_615[0][0][2],&g_615[0][1][0],(void*)0,&g_615[0][1][0]},{&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][2],&g_345,&g_615[0][1][0],&g_615[0][1][0]},{(void*)0,&g_615[0][1][1],&g_615[0][1][2],&g_345,&g_345,&g_615[0][1][0]},{&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0],&g_345},{&g_615[0][0][2],&g_345,(void*)0,(void*)0,&g_345,&g_615[0][1][0]},{&g_345,&g_345,&g_615[0][1][0],&g_345,&g_615[0][1][0],&g_615[0][1][0]},{&g_615[0][1][0],&g_345,(void*)0,&g_345,(void*)0,&g_345},{&g_615[0][1][0],&g_615[0][1][1],&g_615[0][1][0],&g_615[0][1][0],(void*)0,&g_615[0][1][0]},{&g_615[0][1][0],&g_345,&g_615[0][1][2],&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0]}},{{&g_345,&g_345,&g_615[0][1][0],&g_345,&g_615[0][1][0],&g_345},{&g_615[0][1][2],&g_345,&g_615[0][1][2],&g_615[0][1][0],&g_615[0][0][2],&g_615[0][1][0]},{&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][1],&g_345,&g_615[0][1][0]},{&g_615[0][0][2],&g_615[0][1][0],&g_345,&g_615[0][1][1],&g_615[0][1][0],&g_615[0][1][0]},{&g_615[0][1][0],&g_615[0][1][0],&g_615[0][0][3],&g_615[0][1][0],&g_615[0][1][0],&g_345},{&g_615[0][1][2],(void*)0,&g_615[0][0][2],&g_345,&g_615[0][1][0],&g_615[0][1][0]},{&g_615[0][0][2],&g_345,&g_615[0][1][0],(void*)0,&g_345,&g_615[0][1][0]},{(void*)0,&g_345,&g_615[0][0][2],&g_615[0][1][1],&g_615[0][0][2],&g_345},{&g_345,&g_615[0][1][0],&g_615[0][0][3],&g_345,&g_615[0][1][0],&g_615[0][1][0]},{(void*)0,(void*)0,&g_345,&g_615[0][1][0],(void*)0,&g_615[0][1][0]}},{{&g_615[0][0][2],(void*)0,&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0]},{&g_615[0][1][2],&g_615[0][1][0],&g_615[0][1][2],(void*)0,&g_615[0][0][2],&g_345},{&g_615[0][1][0],&g_345,&g_615[0][1][0],&g_345,&g_345,&g_345},{&g_615[0][0][2],&g_345,&g_345,&g_345,&g_615[0][1][0],(void*)0},{&g_615[0][1][0],(void*)0,&g_615[0][0][3],(void*)0,&g_615[0][1][0],&g_615[0][1][0]},{&g_615[0][1][2],&g_615[0][1][0],&g_615[0][0][2],&g_615[0][1][0],&g_615[0][1][0],&g_345},{&g_615[0][0][2],&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0],&g_345,&g_345},{(void*)0,&g_615[0][1][0],&g_615[0][0][2],&g_345,&g_615[0][0][2],&g_615[0][1][0]},{&g_345,&g_345,&g_615[0][0][3],&g_615[0][1][1],&g_615[0][1][0],(void*)0},{(void*)0,&g_615[0][1][0],&g_345,(void*)0,(void*)0,&g_345}},{{&g_615[0][0][2],&g_615[0][1][0],&g_615[0][1][0],&g_345,&g_615[0][1][0],&g_345},{&g_615[0][1][2],&g_345,&g_615[0][1][2],&g_615[0][1][0],&g_615[0][0][2],&g_615[0][1][0]},{&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][0],&g_615[0][1][1],&g_345,&g_615[0][1][0]},{&g_615[0][0][2],&g_615[0][1][0],&g_345,&g_615[0][1][1],&g_615[0][1][0],&g_615[0][1][0]},{&g_615[0][1][0],&g_615[0][1][0],&g_615[0][0][3],&g_615[0][1][0],&g_615[0][1][0],&g_345},{&g_615[0][1][2],(void*)0,&g_615[0][0][2],&g_345,&g_615[0][1][0],&g_615[0][1][0]},{&g_615[0][0][2],&g_345,&g_615[0][1][0],(void*)0,&g_345,&g_615[0][1][0]},{(void*)0,&g_345,&g_615[0][0][2],&g_615[0][1][1],&g_615[0][0][2],&g_345},{&g_345,&g_615[0][1][0],&g_615[0][0][3],&g_345,&g_615[0][1][0],&g_615[0][1][0]},{(void*)0,(void*)0,&g_345,&g_615[0][1][0],(void*)0,&g_615[0][1][0]}}};
static volatile union U1 g_673 = {{9UL,0xEAED3E33EDAF9AFDLL,0x31L}};/* VOLATILE GLOBAL g_673 */
static int32_t g_697 = 1L;
static int32_t g_714[9][2] = {{0x203C0BDEL,0xAE7BF6B5L},{0xAE7BF6B5L,0x203C0BDEL},{0xAE7BF6B5L,0xAE7BF6B5L},{0x203C0BDEL,0xAE7BF6B5L},{0xAE7BF6B5L,0x203C0BDEL},{0xAE7BF6B5L,0xAE7BF6B5L},{0x203C0BDEL,0x203C0BDEL},{0x203C0BDEL,0x50244482L},{0x203C0BDEL,0x203C0BDEL}};
static int8_t ***g_751 = (void*)0;
static volatile int16_t * volatile * volatile g_774 = (void*)0;/* VOLATILE GLOBAL g_774 */
static uint8_t g_811[5][5] = {{0x18L,0x63L,0xC4L,0xC4L,0x63L},{0x18L,0x63L,0xC4L,0xC4L,0x63L},{0x18L,0x63L,0xC4L,0xC4L,0x63L},{0x18L,0x63L,0xC4L,0xC4L,0x63L},{0x18L,0x63L,0xC4L,0xC4L,0x63L}};
static int32_t * volatile g_863 = (void*)0;/* VOLATILE GLOBAL g_863 */
static struct S0 **g_875 = &g_35;
static struct S0 ***g_874[4] = {&g_875,&g_875,&g_875,&g_875};
static union U1 g_881 = {{0x88L,18446744073709551609UL,0UL}};/* VOLATILE GLOBAL g_881 */
static volatile struct S0 g_917 = {0xC6L,0x6ABD7239CF865FBBLL,247UL};/* VOLATILE GLOBAL g_917 */
static int16_t g_984 = 0x3DB8L;
static uint32_t g_1002 = 8UL;
static volatile union U1 g_1015 = {{0UL,18446744073709551612UL,0UL}};/* VOLATILE GLOBAL g_1015 */
static int32_t * volatile g_1017[8][4][2] = {{{&g_29,&g_24},{(void*)0,&g_697},{&g_697,&g_697},{&g_697,&g_24}},{{&g_225,&g_24},{&g_225,&g_225},{&g_225,&g_225},{(void*)0,(void*)0}},{{&g_225,&g_225},{(void*)0,&g_24},{&g_697,(void*)0},{&g_697,(void*)0}},{{&g_697,&g_24},{(void*)0,&g_225},{&g_225,(void*)0},{(void*)0,&g_225}},{{&g_225,&g_225},{&g_225,&g_24},{&g_225,&g_24},{&g_697,&g_697}},{{&g_697,&g_697},{(void*)0,&g_24},{&g_29,(void*)0},{&g_225,&g_29}},{{&g_24,&g_225},{&g_24,&g_29},{&g_225,(void*)0},{&g_29,&g_24}},{{(void*)0,&g_697},{&g_697,&g_697},{&g_697,&g_24},{&g_225,&g_24}}};
static int32_t * volatile g_1018 = &g_225;/* VOLATILE GLOBAL g_1018 */
static int32_t g_1050 = (-5L);
static uint8_t *g_1130 = &g_881.f0.f0;
static uint8_t ** const g_1129 = &g_1130;
static uint8_t ** const *g_1128 = &g_1129;
static struct S0 g_1145 = {0x60L,0xFA19BE963E753A33LL,0xB8L};/* VOLATILE GLOBAL g_1145 */
static struct S0 g_1219 = {0x30L,0x9CB4FC4F2667572CLL,254UL};/* VOLATILE GLOBAL g_1219 */
static volatile union U1 g_1231 = {{0x5CL,0UL,0x4EL}};/* VOLATILE GLOBAL g_1231 */
static const union U1 g_1249 = {{0x91L,18446744073709551607UL,254UL}};/* VOLATILE GLOBAL g_1249 */
static const union U1 g_1250 = {{0x72L,0xC59C31FBA936D655LL,0xB1L}};/* VOLATILE GLOBAL g_1250 */
static volatile struct S0 g_1267[1] = {{254UL,0x0E1C73CD50E8DAEELL,0xAAL}};
static uint64_t g_1330 = 2UL;
static volatile struct S0 g_1349[8][8][1] = {{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}},{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}},{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}},{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}},{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}},{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}},{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}},{{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}},{{0x19L,0UL,0xABL}},{{0x8AL,1UL,0x21L}}}};
static int16_t *g_1356 = &g_247;
static int16_t **g_1355 = &g_1356;
static int16_t ** const *g_1354[10][4][3] = {{{&g_1355,&g_1355,&g_1355},{&g_1355,(void*)0,&g_1355},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355}},{{&g_1355,&g_1355,&g_1355},{(void*)0,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,(void*)0}},{{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355},{(void*)0,&g_1355,&g_1355},{&g_1355,&g_1355,(void*)0}},{{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355}},{{&g_1355,&g_1355,&g_1355},{(void*)0,(void*)0,&g_1355},{&g_1355,&g_1355,(void*)0},{&g_1355,&g_1355,&g_1355}},{{&g_1355,&g_1355,(void*)0},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355}},{{(void*)0,(void*)0,&g_1355},{&g_1355,(void*)0,&g_1355},{(void*)0,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355}},{{&g_1355,&g_1355,(void*)0},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355}},{{&g_1355,(void*)0,&g_1355},{&g_1355,&g_1355,&g_1355},{(void*)0,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355}},{{&g_1355,&g_1355,(void*)0},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355},{&g_1355,&g_1355,&g_1355}}};
static int16_t ** const ** volatile g_1353 = &g_1354[2][0][0];/* VOLATILE GLOBAL g_1353 */
static struct S0 **g_1419 = &g_35;
static struct S0 **g_1420 = &g_35;
static struct S0 **g_1421 = &g_35;
static struct S0 **g_1422 = &g_35;
static struct S0 **g_1423 = (void*)0;
static struct S0 **g_1424 = (void*)0;
static struct S0 **g_1425 = (void*)0;
static struct S0 **g_1426 = (void*)0;
static struct S0 **g_1427 = &g_35;
static struct S0 **g_1428 = &g_35;
static struct S0 **g_1429 = &g_35;
static struct S0 **g_1430[8] = {&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35};
static struct S0 **g_1431 = &g_35;
static struct S0 **g_1432 = &g_35;
static struct S0 **g_1433[4][5][3] = {{{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35}},{{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35}},{{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35}},{{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35}}};
static struct S0 **g_1434 = &g_35;
static struct S0 **g_1435 = &g_35;
static struct S0 **g_1436[3][8] = {{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35}};
static struct S0 **g_1437 = &g_35;
static struct S0 **g_1438[1] = {&g_35};
static struct S0 **g_1439 = &g_35;
static struct S0 **g_1440 = &g_35;
static struct S0 **g_1441[10] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,&g_35,(void*)0,&g_35,&g_35,(void*)0};
static struct S0 **g_1442 = &g_35;
static struct S0 **g_1443 = &g_35;
static struct S0 **g_1444 = &g_35;
static struct S0 **g_1445 = (void*)0;
static struct S0 **g_1446 = &g_35;
static struct S0 **g_1447 = &g_35;
static struct S0 *** const g_1418[7][3][9] = {{{(void*)0,(void*)0,&g_1437,(void*)0,&g_1429,&g_1434,&g_1425,&g_1431,&g_1423},{&g_1420,(void*)0,&g_1432,&g_1445,&g_1445,&g_1432,(void*)0,&g_1420,&g_1424},{&g_1433[3][3][2],(void*)0,&g_1436[1][7],&g_1431,&g_1440,(void*)0,&g_1421,(void*)0,&g_1434}},{{&g_1424,&g_1428,&g_1419,&g_1426,&g_1447,&g_1426,&g_1419,&g_1428,&g_1424},{&g_1425,(void*)0,&g_1440,&g_1429,&g_1433[3][3][2],&g_1421,(void*)0,&g_1446,&g_1423},{&g_1435,&g_1432,&g_1443,&g_1441[8],&g_1427,&g_1427,&g_1441[8],&g_1443,&g_1432}},{{&g_1425,&g_1433[3][3][2],(void*)0,&g_1436[1][7],&g_1431,&g_1440,(void*)0,&g_1421,(void*)0},{&g_1424,&g_1441[8],&g_1447,&g_1438[0],&g_1443,(void*)0,&g_1443,&g_1438[0],&g_1447},{&g_1433[3][3][2],&g_1433[3][3][2],(void*)0,(void*)0,&g_1437,(void*)0,&g_1429,&g_1434,&g_1425}},{{&g_1420,&g_1432,&g_1428,(void*)0,&g_1439,&g_1424,&g_1424,&g_1439,(void*)0},{(void*)0,(void*)0,(void*)0,&g_1440,&g_1421,&g_1446,(void*)0,&g_1425,&g_1437},{&g_1426,&g_1428,&g_1447,&g_1422,&g_1441[8],&g_1419,(void*)0,&g_1419,&g_1441[8]}},{{&g_1440,(void*)0,(void*)0,&g_1440,&g_1442,&g_1431,&g_1434,&g_1423,(void*)0},{&g_1438[0],(void*)0,&g_1443,(void*)0,&g_1424,&g_1422,(void*)0,(void*)0,&g_1422},{&g_1442,(void*)0,&g_1440,(void*)0,&g_1442,&g_1423,(void*)0,&g_1429,(void*)0}},{{&g_1428,&g_1445,&g_1419,&g_1438[0],&g_1441[8],(void*)0,&g_1439,&g_1432,&g_1439},{&g_1423,&g_1421,&g_1436[1][7],&g_1436[1][7],&g_1421,&g_1423,(void*)0,&g_1442,&g_1433[3][3][2]},{&g_1427,(void*)0,&g_1432,&g_1441[8],&g_1439,&g_1422,&g_1420,&g_1435,&g_1435}},{{(void*)0,&g_1431,&g_1437,&g_1429,&g_1437,&g_1431,(void*)0,&g_1436[1][7],&g_1446},{(void*)0,&g_1435,&g_1422,&g_1426,&g_1443,&g_1419,&g_1439,&g_1445,&g_1438[0]},{&g_1436[1][7],(void*)0,&g_1446,&g_1431,&g_1431,&g_1446,&g_1425,&g_1440,&g_1444}}};
static struct S0 *** const *g_1417[10] = {&g_1418[0][0][3],(void*)0,&g_1418[0][0][3],(void*)0,&g_1418[0][0][3],(void*)0,&g_1418[0][0][3],(void*)0,&g_1418[0][0][3],(void*)0};
static struct S0 g_1470 = {0x9AL,0x5E2C534BD3B93165LL,250UL};/* VOLATILE GLOBAL g_1470 */
static struct S0 **** volatile g_1501 = &g_874[2];/* VOLATILE GLOBAL g_1501 */
static int8_t ****g_1504[5][6] = {{&g_751,&g_751,&g_751,&g_751,&g_751,&g_751},{(void*)0,&g_751,(void*)0,&g_751,(void*)0,&g_751},{&g_751,&g_751,&g_751,&g_751,&g_751,&g_751},{(void*)0,&g_751,(void*)0,&g_751,(void*)0,&g_751},{&g_751,&g_751,&g_751,&g_751,&g_751,&g_751}};
static int32_t * volatile g_1528 = (void*)0;/* VOLATILE GLOBAL g_1528 */
static struct S0 g_1590 = {250UL,0x026F1E43FA09E522LL,0x90L};/* VOLATILE GLOBAL g_1590 */
static uint8_t * const *g_1619[9] = {&g_162,&g_162,&g_162,&g_162,&g_162,&g_162,&g_162,&g_162,&g_162};
static uint8_t * const **g_1618 = &g_1619[6];
static const uint8_t ***g_1621 = (void*)0;
static volatile union U1 g_1628 = {{1UL,0x9A5B9B894E914B51LL,1UL}};/* VOLATILE GLOBAL g_1628 */
static struct S0 g_1659 = {0x75L,0x82E6157B8C30D19FLL,249UL};/* VOLATILE GLOBAL g_1659 */
static int32_t ***g_1701[4] = {&g_178,&g_178,&g_178,&g_178};
static union U1 g_1735[10] = {{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}},{{0x70L,8UL,251UL}}};
static union U1 g_1743 = {{248UL,18446744073709551615UL,246UL}};/* VOLATILE GLOBAL g_1743 */
static int16_t g_1767 = 1L;
static int8_t ** const **g_1787 = &g_413;
static int8_t ** const ***g_1786[7] = {&g_1787,&g_1787,&g_1787,&g_1787,&g_1787,&g_1787,&g_1787};
static volatile union U1 g_1790 = {{254UL,0x56598242FF864C41LL,0x89L}};/* VOLATILE GLOBAL g_1790 */
static volatile union U1 g_1814 = {{254UL,0x94BF92B066B0F581LL,0xDFL}};/* VOLATILE GLOBAL g_1814 */
static volatile union U1 g_1823[6] = {{{0x0EL,0x68ABEBB3A3C13D58LL,0x01L}},{{0x0EL,0x68ABEBB3A3C13D58LL,0x01L}},{{0x0EL,0x68ABEBB3A3C13D58LL,0x01L}},{{0x0EL,0x68ABEBB3A3C13D58LL,0x01L}},{{0x0EL,0x68ABEBB3A3C13D58LL,0x01L}},{{0x0EL,0x68ABEBB3A3C13D58LL,0x01L}}};
static volatile int8_t g_1829 = 0x7DL;/* VOLATILE GLOBAL g_1829 */
static int32_t g_1831 = 6L;
static uint32_t *g_1834[2][9] = {{(void*)0,&g_1002,(void*)0,&g_1002,(void*)0,&g_1002,(void*)0,&g_1002,(void*)0},{&g_1002,&g_1002,&g_1002,&g_1002,&g_1002,&g_1002,&g_1002,&g_1002,&g_1002}};
static uint32_t **g_1833 = &g_1834[1][5];
static uint32_t ***g_1832 = &g_1833;
static int32_t * volatile g_1846[9] = {&g_29,&g_29,&g_24,&g_29,&g_29,&g_24,&g_29,&g_29,&g_24};
static int32_t * volatile g_1848 = &g_1050;/* VOLATILE GLOBAL g_1848 */
static union U1 g_1856 = {{1UL,18446744073709551615UL,255UL}};/* VOLATILE GLOBAL g_1856 */
static int8_t g_1907 = (-3L);
static volatile struct S0 g_1920 = {255UL,18446744073709551614UL,1UL};/* VOLATILE GLOBAL g_1920 */
static uint16_t * volatile * volatile g_1935 = (void*)0;/* VOLATILE GLOBAL g_1935 */
static uint16_t * volatile g_1937 = &g_243;/* VOLATILE GLOBAL g_1937 */
static struct S0 g_1939 = {0xDEL,0x0A1F17FE6FF74CF8LL,247UL};/* VOLATILE GLOBAL g_1939 */
static uint8_t g_1995 = 255UL;
static union U1 *g_1998 = &g_881;
static union U1 ** volatile g_1997 = &g_1998;/* VOLATILE GLOBAL g_1997 */
static union U1 g_2053 = {{7UL,0xDE017A5A65E1E3D9LL,1UL}};/* VOLATILE GLOBAL g_2053 */
static const int64_t g_2106 = 0xD89D7056D3A5B20ALL;
static uint16_t g_2112 = 0UL;
static volatile int32_t g_2115 = 0xE657A3C9L;/* VOLATILE GLOBAL g_2115 */
static volatile int32_t * volatile g_2114 = &g_2115;/* VOLATILE GLOBAL g_2114 */
static volatile int32_t * volatile *g_2113 = &g_2114;
static struct S0 * const *g_2139[2][4][8] = {{{&g_35,&g_35,&g_35,&g_35,(void*)0,(void*)0,(void*)0,(void*)0},{&g_35,(void*)0,(void*)0,&g_35,&g_35,&g_35,(void*)0,&g_35},{&g_35,&g_35,&g_35,(void*)0,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35}},{{(void*)0,(void*)0,&g_35,&g_35,&g_35,(void*)0,&g_35,(void*)0},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,(void*)0,(void*)0},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,(void*)0,&g_35,(void*)0,&g_35}}};
static struct S0 * const **g_2138 = &g_2139[0][0][0];
static struct S0 * const ***g_2137 = &g_2138;
static struct S0 * const ****g_2136[7][9] = {{&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137},{&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137},{&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137},{&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137},{&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137},{&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137},{&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137,&g_2137}};
static uint32_t g_2143 = 8UL;
static int8_t g_2144 = 0x8CL;
static const struct S0 g_2149 = {0xC6L,0x7AC8147438FE4C11LL,254UL};/* VOLATILE GLOBAL g_2149 */
static int32_t *g_2189 = &g_714[1][1];
static int32_t * volatile * volatile g_2188 = &g_2189;/* VOLATILE GLOBAL g_2188 */
static volatile struct S0 g_2253 = {0UL,1UL,0x0AL};/* VOLATILE GLOBAL g_2253 */
static uint32_t g_2267 = 0UL;
static union U1 g_2304 = {{0x17L,18446744073709551615UL,0x92L}};/* VOLATILE GLOBAL g_2304 */
static struct S0 g_2325[7] = {{248UL,0xE2DE3535B7C3A9C6LL,0x2DL},{255UL,0UL,0xB0L},{255UL,0UL,0xB0L},{248UL,0xE2DE3535B7C3A9C6LL,0x2DL},{255UL,0UL,0xB0L},{255UL,0UL,0xB0L},{248UL,0xE2DE3535B7C3A9C6LL,0x2DL}};
static const int16_t *g_2360 = &g_12[2];
static const int16_t **g_2359 = &g_2360;
static union U1 g_2376[4][6][5] = {{{{{0UL,18446744073709551615UL,1UL}},{{0x92L,18446744073709551615UL,0xAEL}},{{255UL,1UL,0x8BL}},{{0x02L,18446744073709551615UL,2UL}},{{0xF6L,5UL,4UL}}},{{{1UL,0x5743022534245DB9LL,0xF3L}},{{255UL,1UL,0x8BL}},{{255UL,1UL,0x8BL}},{{1UL,0x5743022534245DB9LL,0xF3L}},{{248UL,4UL,255UL}}},{{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{2UL,0x84B6B0A72A546ECDLL,0x21L}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{0xF6L,5UL,4UL}}},{{{0UL,18446744073709551615UL,1UL}},{{2UL,0x84B6B0A72A546ECDLL,0x21L}},{{0x36L,0xF2578A35F92182FALL,0UL}},{{0x02L,18446744073709551615UL,2UL}},{{255UL,0UL,0x50L}}},{{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{255UL,1UL,0x8BL}},{{0xFDL,0xFA32CD4B91C770B9LL,0UL}},{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{248UL,4UL,255UL}}},{{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{0x92L,18446744073709551615UL,0xAEL}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{1UL,0x5743022534245DB9LL,0xF3L}},{{0x75L,0xED887FCDA8271367LL,0xC1L}}}},{{{{0UL,18446744073709551615UL,1UL}},{{4UL,3UL,251UL}},{{0xFDL,0xFA32CD4B91C770B9LL,0UL}},{{0x02L,18446744073709551615UL,2UL}},{{0x75L,0xED887FCDA8271367LL,0xC1L}}},{{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{255UL,1UL,0x8BL}},{{0x36L,0xF2578A35F92182FALL,0UL}},{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{248UL,4UL,255UL}}},{{{1UL,0x5743022534245DB9LL,0xF3L}},{{4UL,3UL,251UL}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{255UL,0UL,0x50L}}},{{{0UL,18446744073709551615UL,1UL}},{{0x92L,18446744073709551615UL,0xAEL}},{{255UL,1UL,0x8BL}},{{0x02L,18446744073709551615UL,2UL}},{{0xF6L,5UL,4UL}}},{{{1UL,0x5743022534245DB9LL,0xF3L}},{{255UL,1UL,0x8BL}},{{255UL,1UL,0x8BL}},{{1UL,0x5743022534245DB9LL,0xF3L}},{{248UL,4UL,255UL}}},{{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{2UL,0x84B6B0A72A546ECDLL,0x21L}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{0xF6L,5UL,4UL}}}},{{{{0UL,18446744073709551615UL,1UL}},{{2UL,0x84B6B0A72A546ECDLL,0x21L}},{{0x36L,0xF2578A35F92182FALL,0UL}},{{0x02L,18446744073709551615UL,2UL}},{{255UL,0UL,0x50L}}},{{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{255UL,1UL,0x8BL}},{{0xFDL,0xFA32CD4B91C770B9LL,0UL}},{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{248UL,4UL,255UL}}},{{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{0x92L,18446744073709551615UL,0xAEL}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{1UL,0x5743022534245DB9LL,0xF3L}},{{0x75L,0xED887FCDA8271367LL,0xC1L}}},{{{0UL,18446744073709551615UL,1UL}},{{4UL,3UL,251UL}},{{0xFDL,0xFA32CD4B91C770B9LL,0UL}},{{0x02L,18446744073709551615UL,2UL}},{{0x75L,0xED887FCDA8271367LL,0xC1L}}},{{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{255UL,1UL,0x8BL}},{{0x36L,0xF2578A35F92182FALL,0UL}},{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{248UL,4UL,255UL}}},{{{1UL,0x5743022534245DB9LL,0xF3L}},{{4UL,3UL,251UL}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{255UL,0UL,0x50L}}}},{{{{0UL,18446744073709551615UL,1UL}},{{0x92L,18446744073709551615UL,0xAEL}},{{255UL,1UL,0x8BL}},{{0x02L,18446744073709551615UL,2UL}},{{0xF6L,5UL,4UL}}},{{{1UL,0x5743022534245DB9LL,0xF3L}},{{255UL,1UL,0x8BL}},{{255UL,1UL,0x8BL}},{{1UL,0x5743022534245DB9LL,0xF3L}},{{248UL,4UL,255UL}}},{{{0x07L,0x12A46A2F49D34337LL,0x27L}},{{2UL,0x84B6B0A72A546ECDLL,0x21L}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{0xF6L,5UL,4UL}}},{{{0UL,18446744073709551615UL,1UL}},{{2UL,0x84B6B0A72A546ECDLL,0x21L}},{{0x36L,0xF2578A35F92182FALL,0UL}},{{0x02L,18446744073709551615UL,2UL}},{{255UL,0UL,0x50L}}},{{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{255UL,1UL,0x8BL}},{{0xFDL,0xFA32CD4B91C770B9LL,0UL}},{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{248UL,4UL,255UL}}},{{{0xE1L,0xAB8E8B9957F0503DLL,0x48L}},{{0x92L,18446744073709551615UL,0xAEL}},{{249UL,0x5A7A4EA8D8E493C1LL,0x69L}},{{1UL,0x5743022534245DB9LL,0xF3L}},{{0x75L,0xED887FCDA8271367LL,0xC1L}}}}};
static struct S0 g_2393 = {0x71L,0x0460BA8880939355LL,250UL};/* VOLATILE GLOBAL g_2393 */
static volatile union U1 g_2444 = {{0x67L,18446744073709551611UL,0x3AL}};/* VOLATILE GLOBAL g_2444 */
static uint32_t g_2488 = 0xB097E738L;
static int32_t **g_2522 = &g_2189;
static int32_t ***g_2521 = &g_2522;
static int32_t **** volatile g_2520 = &g_2521;/* VOLATILE GLOBAL g_2520 */
static volatile struct S0 g_2539 = {1UL,0xD4938140A9711F64LL,0xB2L};/* VOLATILE GLOBAL g_2539 */
static int64_t * volatile g_2560[8] = {&g_273[2][1],&g_273[2][1],&g_273[2][1],&g_273[2][1],&g_273[2][1],&g_273[2][1],&g_273[2][1],&g_273[2][1]};
static int64_t * volatile g_2561 = &g_361[6];/* VOLATILE GLOBAL g_2561 */
static int64_t * volatile g_2562 = &g_361[0];/* VOLATILE GLOBAL g_2562 */
static int64_t * volatile g_2563 = (void*)0;/* VOLATILE GLOBAL g_2563 */
static int64_t * volatile g_2564 = &g_273[2][0];/* VOLATILE GLOBAL g_2564 */
static int64_t * volatile *g_2559[6][7] = {{(void*)0,&g_2562,(void*)0,&g_2564,&g_2563,&g_2563,&g_2564},{(void*)0,&g_2562,(void*)0,&g_2564,&g_2563,&g_2563,&g_2563},{&g_2560[0],&g_2561,&g_2560[0],&g_2563,&g_2562,&g_2562,&g_2563},{&g_2560[0],&g_2561,&g_2560[0],&g_2563,&g_2562,&g_2562,&g_2563},{&g_2560[0],&g_2561,&g_2560[0],&g_2563,&g_2562,&g_2562,&g_2563},{&g_2560[0],&g_2561,&g_2560[0],&g_2563,&g_2562,&g_2562,&g_2563}};
static int16_t ***g_2575 = &g_1355;
static int16_t ****g_2574 = &g_2575;
static int16_t ***** volatile g_2573 = &g_2574;/* VOLATILE GLOBAL g_2573 */
static struct S0 g_2660 = {0x30L,0xE1A2211D25EB2E64LL,255UL};/* VOLATILE GLOBAL g_2660 */
static union U1 g_2663 = {{0x23L,0UL,5UL}};/* VOLATILE GLOBAL g_2663 */
static volatile struct S0 g_2666 = {1UL,18446744073709551607UL,255UL};/* VOLATILE GLOBAL g_2666 */
static uint16_t *g_2683 = (void*)0;
static const uint8_t *g_2690[9] = {&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0,&g_615[0][1][0].f0.f0};
static const uint8_t **g_2689 = &g_2690[8];
static int32_t ****g_2738 = &g_2521;
static int32_t * volatile * volatile g_2743[5][7] = {{&g_1017[7][3][0],&g_863,(void*)0,&g_863,&g_1017[7][3][0],&g_1017[7][3][0],&g_863},{&g_1017[3][3][1],(void*)0,&g_1017[3][3][1],&g_863,&g_863,&g_1017[3][3][1],(void*)0},{&g_863,(void*)0,(void*)0,(void*)0,(void*)0,&g_863,(void*)0},{&g_1017[3][3][1],&g_863,&g_863,&g_1017[3][3][1],(void*)0,&g_1017[3][3][1],&g_863},{&g_1017[7][3][0],&g_1017[7][3][0],&g_863,(void*)0,&g_863,&g_1017[7][3][0],&g_1017[7][3][0]}};
static volatile union U1 g_2762 = {{0xFCL,0x49A5B31BB593A661LL,248UL}};/* VOLATILE GLOBAL g_2762 */
static struct S0 g_2797 = {2UL,0xBF453BB7679242BFLL,0xCBL};/* VOLATILE GLOBAL g_2797 */
static union U1 g_2807 = {{0x8EL,0xDD6AA6D1430380A5LL,249UL}};/* VOLATILE GLOBAL g_2807 */
static int32_t * const *g_2830 = (void*)0;
static int32_t * const **g_2829 = &g_2830;
static uint32_t g_2857 = 0UL;
static volatile struct S0 g_2872 = {1UL,18446744073709551615UL,0x15L};/* VOLATILE GLOBAL g_2872 */
static struct S0 g_2874 = {0x74L,0xC387373AF1AFB8C2LL,254UL};/* VOLATILE GLOBAL g_2874 */
static struct S0 g_2876 = {0UL,0xA5BBB0BCBC0E3DA2LL,9UL};/* VOLATILE GLOBAL g_2876 */
static struct S0 g_2877 = {0x21L,0x9A322E93CFB2F08ALL,255UL};/* VOLATILE GLOBAL g_2877 */
static volatile struct S0 g_2883 = {255UL,3UL,2UL};/* VOLATILE GLOBAL g_2883 */
static struct S0 g_2884 = {8UL,18446744073709551608UL,0x21L};/* VOLATILE GLOBAL g_2884 */
static union U1 ** volatile g_2917 = &g_1998;/* VOLATILE GLOBAL g_2917 */
static union U1 ** const  volatile g_2973 = &g_1998;/* VOLATILE GLOBAL g_2973 */
static int32_t ** volatile g_2974 = &g_179;/* VOLATILE GLOBAL g_2974 */
static int64_t g_2979 = 0x3509A934FB1EDB38LL;
static const int32_t *g_2984[9][10] = {{(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},{(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}};
static const int32_t *g_2986 = &g_1050;
static const int32_t ** volatile g_2985[9] = {&g_2986,&g_2986,&g_2986,&g_2986,&g_2986,&g_2986,&g_2986,&g_2986,&g_2986};
static const int32_t ** volatile g_2987 = &g_2986;/* VOLATILE GLOBAL g_2987 */
static volatile struct S0 g_3045 = {255UL,18446744073709551615UL,0x32L};/* VOLATILE GLOBAL g_3045 */
static struct S0 g_3055 = {253UL,0x00D2AF56BBDED5D8LL,5UL};/* VOLATILE GLOBAL g_3055 */
static const int32_t *g_3094 = (void*)0;
static const int32_t **g_3093[8] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
static const int32_t ***g_3092 = &g_3093[7];
static const union U1 g_3097 = {{0UL,18446744073709551615UL,0x75L}};/* VOLATILE GLOBAL g_3097 */
static union U1 g_3111 = {{1UL,0x56ADABFFE14D0251LL,249UL}};/* VOLATILE GLOBAL g_3111 */
static volatile int32_t * volatile * const  volatile *g_3122 = &g_2113;
static volatile int32_t * volatile * const  volatile * const  volatile * volatile g_3121[5][9][4] = {{{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,(void*)0,&g_3122},{&g_3122,&g_3122,&g_3122,(void*)0},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122}},{{&g_3122,&g_3122,&g_3122,(void*)0},{&g_3122,(void*)0,(void*)0,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,(void*)0,&g_3122,(void*)0},{&g_3122,&g_3122,&g_3122,&g_3122}},{{&g_3122,&g_3122,&g_3122,&g_3122},{(void*)0,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,(void*)0},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122}},{{&g_3122,&g_3122,&g_3122,&g_3122},{(void*)0,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{(void*)0,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,(void*)0,&g_3122,&g_3122}},{{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122},{(void*)0,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,(void*)0},{&g_3122,&g_3122,&g_3122,&g_3122},{&g_3122,&g_3122,&g_3122,&g_3122}}};
static volatile int32_t * volatile * const  volatile * const  volatile * volatile * volatile g_3120[2][5][6] = {{{&g_3121[1][3][0],&g_3121[3][1][1],&g_3121[1][3][0],&g_3121[1][0][2],(void*)0,&g_3121[3][0][1]},{&g_3121[1][3][0],&g_3121[1][0][2],&g_3121[1][0][2],&g_3121[3][5][1],&g_3121[1][0][2],(void*)0},{(void*)0,&g_3121[1][0][2],&g_3121[1][0][2],&g_3121[3][5][1],&g_3121[1][0][2],&g_3121[1][0][2]},{&g_3121[1][3][0],(void*)0,(void*)0,&g_3121[1][0][2],&g_3121[3][0][1],&g_3121[2][1][2]},{&g_3121[1][0][2],&g_3121[1][0][2],&g_3121[3][3][2],&g_3121[3][3][2],&g_3121[1][0][2],&g_3121[1][0][2]}},{{&g_3121[0][5][3],&g_3121[1][3][0],&g_3121[3][7][1],&g_3121[3][3][2],(void*)0,&g_3121[1][0][2]},{&g_3121[1][0][2],&g_3121[4][5][0],(void*)0,&g_3121[1][0][2],&g_3121[1][0][2],&g_3121[3][1][2]},{&g_3121[1][0][2],&g_3121[1][0][2],&g_3121[1][0][2],&g_3121[3][3][2],&g_3121[1][0][2],&g_3121[0][5][3]},{&g_3121[0][5][3],(void*)0,&g_3121[2][1][2],&g_3121[3][3][2],(void*)0,&g_3121[3][3][2]},{&g_3121[1][0][2],&g_3121[3][0][1],&g_3121[1][0][2],&g_3121[1][0][2],&g_3121[4][5][0],&g_3121[3][7][1]}}};
static struct S0 g_3124[10] = {{251UL,18446744073709551611UL,0x79L},{0UL,0UL,246UL},{251UL,18446744073709551611UL,0x79L},{0UL,0UL,246UL},{251UL,18446744073709551611UL,0x79L},{0UL,0UL,246UL},{251UL,18446744073709551611UL,0x79L},{0UL,0UL,246UL},{251UL,18446744073709551611UL,0x79L},{0UL,0UL,246UL}};
static struct S0 *g_3123 = &g_3124[1];
static int16_t g_3191 = 0xF704L;
static volatile struct S0 g_3223 = {249UL,0xC6DF459FE723C102LL,0UL};/* VOLATILE GLOBAL g_3223 */
static struct S0 *g_3324 = (void*)0;
static struct S0 ** const g_3323 = &g_3324;
static struct S0 ** const *g_3322 = &g_3323;
static struct S0 ** const **g_3321 = &g_3322;
static volatile struct S0 g_3359 = {0x8AL,0x97889AE3F99B525FLL,6UL};/* VOLATILE GLOBAL g_3359 */
static const volatile union U1 g_3379 = {{0UL,0x39038E60504758C9LL,0UL}};/* VOLATILE GLOBAL g_3379 */
static const int32_t g_3417 = 0L;
static const struct S0 g_3418[9][5][2] = {{{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}}},{{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}}},{{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}}},{{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}}},{{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}}},{{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}}},{{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}}},{{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}}},{{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{1UL,18446744073709551615UL,0x71L}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{0UL,0x7EB0EFA0D2374B05LL,255UL},{0xCCL,0xD5E488A4CFD2D4CCLL,255UL}},{{249UL,0x8D1576988C4C3AC4LL,252UL},{1UL,18446744073709551615UL,0x71L}}}};
static int32_t * const *g_3533[5] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
static int32_t * const **g_3532 = &g_3533[3];
static int32_t *****g_3549 = &g_2738;
static uint8_t g_3586 = 0xE3L;
static uint64_t g_3654 = 0x4FDB2557077FF7C3LL;
static volatile struct S0 g_3693[2] = {{0xE3L,0x313DC6018CCD0947LL,252UL},{0xE3L,0x313DC6018CCD0947LL,252UL}};
static int8_t g_3711 = 0x54L;
static int64_t g_3772 = (-1L);
static uint32_t g_3792 = 18446744073709551615UL;
static volatile uint32_t g_3912 = 0x3E6CAAFAL;/* VOLATILE GLOBAL g_3912 */


/* --- FORWARD DECLARATIONS --- */
static int64_t  func_1(void);
static uint32_t  func_7(int32_t  p_8, int64_t  p_9, int32_t  p_10, int8_t  p_11);
static uint16_t  func_15(uint16_t  p_16, uint8_t  p_17, uint16_t  p_18);
static uint16_t  func_19(const uint32_t  p_20);
static int32_t  func_36(uint8_t  p_37, uint8_t  p_38);
static struct S0 ** func_40(int32_t * p_41, struct S0 * p_42, int8_t  p_43, uint32_t  p_44, int32_t * p_45);
static struct S0 * func_46(uint64_t  p_47);
static struct S0  func_50(int8_t  p_51, struct S0 ** p_52);
static struct S0 *** func_55(const uint64_t * p_56, struct S0 * p_57, int16_t  p_58, struct S0 ** p_59);
static struct S0 * func_61(int8_t  p_62, int32_t  p_63);


/* --- FUNCTIONS --- */
/* ------------------------------------------ */
/* 
 * reads : g_12 g_24 g_34 g_1937 g_243 g_1128 g_1129 g_1130 g_881.f0.f0 g_1249.f0.f2 g_1907 g_2876.f0 g_1998 g_881 g_3223 g_2359 g_2360 g_1787 g_413 g_414 g_415 g_162 g_33.f0 g_1355 g_1356 g_3122 g_2113 g_2114 g_3055.f0 g_1618 g_1619 g_3586 g_3322 g_3323 g_3324 g_2561 g_361 g_195 g_2521 g_2522 g_2189 g_3654 g_2575 g_247 g_3693 g_1446 g_35 g_33 g_1997 g_178 g_179 g_95 g_1018 g_225 g_1442 g_2564 g_273 g_3772 g_2574 g_345.f3 g_2884.f0 g_3792 g_2573 g_811 g_2267 g_2974 g_3549 g_2738 g_1419 g_75 g_2973 g_614 g_697 g_412 g_3912
 * writes: g_24 g_29 g_35 g_1907 g_2876.f0 g_243 g_195 g_247 g_2115 g_3055.f0 g_345.f1 g_881.f0.f0 g_75 g_3654 g_2112 g_2114 g_1998 g_179 g_33.f0 g_95 g_345.f3 g_2267 g_3586 g_3111.f2 g_697 g_3912 g_1050
 */
static int64_t  func_1(void)
{ /* block id: 0 */
    int64_t l_4 = 4L;
    uint32_t ***l_3211 = (void*)0;
    int32_t l_3622 = 0x2B1EF115L;
    int32_t l_3624 = 1L;
    int32_t l_3625[9][5][3] = {{{0L,0x0F8818A9L,0xF8AA1F89L},{0x372192E6L,0x0F8818A9L,7L},{(-1L),7L,1L},{0L,0x0F8818A9L,(-1L)},{0x5DBD0A06L,0x0F8818A9L,1L}},{{1L,7L,0x3DDD68D4L},{(-2L),0x0F8818A9L,0x4ECC4238L},{(-1L),0x0F8818A9L,0x0F8818A9L},{0xC8FA6205L,7L,0x580C61E1L},{0L,0x0F8818A9L,0xF8AA1F89L}},{{0x372192E6L,0x0F8818A9L,7L},{(-1L),7L,1L},{0L,0x0F8818A9L,(-1L)},{0x5DBD0A06L,0x0F8818A9L,1L},{1L,7L,0x3DDD68D4L}},{{1L,7L,0xCED44ED4L},{1L,7L,7L},{0x4ECC4238L,(-10L),0x62B560FEL},{0x580C61E1L,7L,1L},{7L,7L,(-10L)}},{{(-1L),(-10L),9L},{0x3DDD68D4L,7L,0xF153DC5BL},{0x0F8818A9L,7L,0x52E2BF42L},{0xF8AA1F89L,(-10L),0x5A6C0E98L},{1L,7L,0xCED44ED4L}},{{1L,7L,7L},{0x4ECC4238L,(-10L),0x62B560FEL},{0x580C61E1L,7L,1L},{7L,7L,(-10L)},{(-1L),(-10L),9L}},{{0x3DDD68D4L,7L,0xF153DC5BL},{0x0F8818A9L,7L,0x52E2BF42L},{0xF8AA1F89L,(-10L),0x5A6C0E98L},{1L,7L,0xCED44ED4L},{1L,7L,7L}},{{0x4ECC4238L,(-10L),0x62B560FEL},{0x580C61E1L,7L,1L},{7L,7L,(-10L)},{(-1L),(-10L),9L},{0x3DDD68D4L,7L,0xF153DC5BL}},{{0x0F8818A9L,7L,0x52E2BF42L},{0xF8AA1F89L,(-10L),0x5A6C0E98L},{1L,7L,0xCED44ED4L},{1L,7L,7L},{0x4ECC4238L,(-10L),0x62B560FEL}}};
    int16_t l_3636 = 0xB0AFL;
    int16_t l_3684 = 0x0C76L;
    uint8_t l_3691 = 1UL;
    struct S0 **l_3692 = &g_3324;
    uint32_t l_3714 = 0UL;
    int32_t l_3837 = 0L;
    uint32_t l_3881[4][9][7] = {{{0UL,0xE1E95017L,0x00D4770EL,0x9988A462L,0x59772C26L,1UL,0UL},{0x1A453F92L,0x1CD11AA6L,4294967295UL,0UL,1UL,0UL,0x9EB2D07EL},{0xBC52E7C3L,8UL,0x766A3154L,0x9988A462L,4294967295UL,0x5CE63241L,0xBC52E7C3L},{0xBC52E7C3L,1UL,0x00D4770EL,0x12323E19L,0UL,4294967292UL,0UL},{0x1A453F92L,0xF51E1EECL,0xB1A39FC6L,0x03247BBFL,4294967295UL,0UL,4294967295UL},{0UL,0xF51E1EECL,4294967290UL,0x9988A462L,1UL,1UL,0UL},{0xF77E6BC6L,1UL,4294967295UL,0xD7376191L,0x59772C26L,0UL,0UL},{0xA329E7B6L,8UL,4294967295UL,0UL,4294967295UL,4294967292UL,0xA329E7B6L},{0xBC52E7C3L,0x1CD11AA6L,4294967290UL,0x12323E19L,4294967295UL,0x5CE63241L,0UL}},{{0xF77E6BC6L,0xE1E95017L,0xB1A39FC6L,0x12323E19L,4294967295UL,0UL,0UL},{0x9EB2D07EL,0xF51E1EECL,0x00D4770EL,0UL,1UL,1UL,4294967295UL},{0xF77E6BC6L,0x1CD11AA6L,0x766A3154L,0xD7376191L,1UL,0x7D20E118L,0UL},{0xBC52E7C3L,4294967292UL,4294967295UL,0x9988A462L,4294967295UL,4294967292UL,0xBC52E7C3L},{0xA329E7B6L,0x1CD11AA6L,0x00D4770EL,0x03247BBFL,4294967295UL,4294967292UL,0x9EB2D07EL},{0xF77E6BC6L,0xF51E1EECL,8UL,0xAAA02726L,0xD76B3B3BL,4294967295UL,0x150B3353L},{0UL,4294967295UL,1UL,0x27D9D52AL,5UL,0xF64599C9L,0x150B3353L},{0UL,0x1A453F92L,4294967294UL,0xEED72316L,0xD30E080BL,0x4EC3A5C6L,0x02BE8ED3L},{0x03247BBFL,0x9EB2D07EL,8UL,0x27D9D52AL,0xD76B3B3BL,0UL,0x03247BBFL}},{{0x03247BBFL,0xF64599C9L,1UL,0xAAA02726L,1UL,4294967286UL,0UL},{0UL,0xA329E7B6L,0xAB5B873CL,4294967288UL,0xD76B3B3BL,0x4EC3A5C6L,0x13C50A2BL},{0UL,0xA329E7B6L,0UL,0x27D9D52AL,0xD30E080BL,0xF77E6BC6L,0x150B3353L},{0UL,0xF64599C9L,4294967294UL,0x1E87FC00L,5UL,0x4EC3A5C6L,0UL},{0UL,0x9EB2D07EL,4294967294UL,0xDDC2D176L,0xD76B3B3BL,4294967286UL,0UL},{0x03247BBFL,0x1A453F92L,0UL,0xAAA02726L,0xAD0F69E7L,0UL,0UL},{0UL,4294967295UL,0xAB5B873CL,0xAAA02726L,4294967294UL,0x4EC3A5C6L,0x150B3353L},{0x02BE8ED3L,0xA329E7B6L,1UL,0xDDC2D176L,0xD30E080BL,0xF64599C9L,0x13C50A2BL},{0UL,0x1A453F92L,8UL,0x1E87FC00L,0xD30E080BL,4294967295UL,0UL}},{{0x03247BBFL,4294967286UL,4294967294UL,0x27D9D52AL,4294967294UL,4294967286UL,0x03247BBFL},{0UL,0x1A453F92L,1UL,4294967288UL,0xAD0F69E7L,4294967286UL,0x02BE8ED3L},{0UL,0xA329E7B6L,0x6AF6D2F5L,0xAAA02726L,0xD76B3B3BL,4294967295UL,0x150B3353L},{0UL,4294967295UL,1UL,0x27D9D52AL,5UL,0xF64599C9L,0x150B3353L},{0UL,0x1A453F92L,4294967294UL,0xEED72316L,0xD30E080BL,0x4EC3A5C6L,0x02BE8ED3L},{0x03247BBFL,0x9EB2D07EL,8UL,0x27D9D52AL,0xD76B3B3BL,0UL,0x03247BBFL},{0x03247BBFL,0xF64599C9L,1UL,0xAAA02726L,1UL,4294967286UL,0UL},{0UL,0xA329E7B6L,0xAB5B873CL,4294967288UL,0xD76B3B3BL,0x4EC3A5C6L,0x13C50A2BL},{0UL,0xA329E7B6L,0UL,0x27D9D52AL,0xD30E080BL,0xF77E6BC6L,0x150B3353L}}};
    uint32_t l_3895 = 0xE935879DL;
    int32_t l_3896 = (-5L);
    int32_t *l_3915[5];
    uint32_t l_3916 = 18446744073709551606UL;
    int32_t *l_3917 = (void*)0;
    int32_t **l_3918 = &l_3917;
    int i, j, k;
    for (i = 0; i < 5; i++)
        l_3915[i] = &l_3624;
    if (((safe_div_func_uint64_t_u_u(((l_4 == l_4) != ((safe_add_func_uint32_t_u_u(func_7(g_12[2], (safe_mul_func_uint16_t_u_u(func_15(func_19(l_4), (***g_1128), g_1249.f0.f2), ((void*)0 == l_3211))), l_4, l_4), l_4)) , l_4)), 1L)) >= 0x6F982E29L))
    { /* block id: 1584 */
        uint8_t **l_3582[1];
        uint32_t *l_3585 = &g_345.f1;
        int i;
        for (i = 0; i < 1; i++)
            l_3582[i] = (void*)0;
        (***g_3122) = ((l_3582[0] != (*g_1618)) , (safe_add_func_uint32_t_u_u(((*l_3585) = 0xC9757E6EL), l_4)));
        return g_3586;
    }
    else
    { /* block id: 1588 */
        uint64_t l_3593 = 0x5196968D816ED022LL;
        struct S0 *l_3600[1][2][10] = {{{(void*)0,&g_278,(void*)0,&g_278,(void*)0,&g_278,(void*)0,&g_278,(void*)0,&g_278},{(void*)0,&g_278,(void*)0,&g_278,(void*)0,&g_278,(void*)0,&g_278,(void*)0,&g_278}}};
        uint32_t l_3608 = 0x381A0E7DL;
        int32_t l_3609 = (-6L);
        int32_t l_3610 = 0x990B2EF0L;
        int64_t *l_3611 = &g_75;
        uint16_t *l_3612[3][2] = {{&g_2112,&g_2112},{&g_2112,&g_2112},{&g_2112,&g_2112}};
        int32_t l_3613 = (-6L);
        int32_t l_3623 = 0x7D7B5322L;
        int32_t l_3626[10][7][1] = {{{(-1L)},{0L},{0x3CE62FB6L},{0x3CE62FB6L},{0L},{(-1L)},{(-9L)}},{{(-7L)},{0x97E79DF3L},{(-1L)},{0x97E79DF3L},{(-7L)},{(-9L)},{(-1L)}},{{(-1L)},{0x97E79DF3L},{0x97E79DF3L},{(-1L)},{0x8025D10AL},{(-1L)},{0x02F91747L}},{{9L},{(-7L)},{9L},{0x02F91747L},{(-1L)},{0x8025D10AL},{(-1L)}},{{0x97E79DF3L},{0x97E79DF3L},{(-1L)},{0x8025D10AL},{(-1L)},{0x02F91747L},{9L}},{{(-7L)},{9L},{0x02F91747L},{(-1L)},{0x8025D10AL},{(-1L)},{0x97E79DF3L}},{{0x97E79DF3L},{(-1L)},{0x8025D10AL},{(-1L)},{0x02F91747L},{9L},{(-7L)}},{{9L},{0x02F91747L},{(-1L)},{0x8025D10AL},{(-1L)},{0x97E79DF3L},{0x97E79DF3L}},{{(-1L)},{0x8025D10AL},{(-1L)},{0x02F91747L},{9L},{(-7L)},{9L}},{{0x02F91747L},{(-1L)},{0x8025D10AL},{(-1L)},{0x97E79DF3L},{0x97E79DF3L},{(-1L)}}};
        uint64_t l_3660[8] = {0UL,8UL,8UL,0UL,8UL,8UL,0UL,8UL};
        const int32_t l_3688 = 0x1760C345L;
        uint32_t l_3733 = 0x8B40D7A8L;
        int32_t *****l_3754 = &g_2738;
        int8_t *l_3808 = &g_98;
        int32_t l_3894 = (-1L);
        int32_t *l_3898 = &l_3896;
        int32_t *l_3899 = (void*)0;
        int32_t *l_3900 = (void*)0;
        int32_t *l_3901 = (void*)0;
        int32_t *l_3902 = &g_1050;
        int32_t *l_3903 = &l_3625[7][0][1];
        int32_t *l_3904 = &l_3613;
        int8_t l_3905 = 0xCAL;
        int32_t *l_3906 = &g_697;
        int32_t *l_3907 = &l_3896;
        int32_t *l_3908 = &g_1050;
        int32_t *l_3909 = (void*)0;
        int32_t *l_3910 = &l_3896;
        int32_t *l_3911 = &l_3625[5][3][1];
        int i, j, k;
        if ((safe_add_func_int16_t_s_s((0UL & (((safe_sub_func_uint16_t_u_u(((*g_1937) = (safe_lshift_func_int64_t_s_s(l_3593, ((*l_3611) = (safe_mul_func_uint64_t_u_u(((safe_mod_func_uint32_t_u_u(0xB579178FL, (safe_add_func_int32_t_s_s(l_4, l_4)))) == ((*g_1130) = ((**g_3322) != l_3600[0][0][9]))), (safe_div_func_uint64_t_u_u((((l_3609 = ((((safe_unary_minus_func_uint32_t_u((safe_div_func_int8_t_s_s((safe_mod_func_uint64_t_u_u(l_4, (*g_2561))), l_3608)))) & l_4) , l_3608) && 1L)) < l_4) , l_3610), l_4)))))))), l_3613)) , l_3609) , 0x7DL)), 0x15CAL)))
        { /* block id: 1593 */
            int32_t *l_3614 = (void*)0;
            int32_t *l_3615 = &l_3609;
            int32_t *l_3616 = &l_3609;
            int32_t *l_3617 = &g_24;
            int32_t *l_3618 = (void*)0;
            int32_t *l_3619 = &g_225;
            int32_t l_3620[1][7];
            int32_t *l_3621[5][1][3] = {{{&l_3609,&g_697,&g_29}},{{&l_3609,&l_3609,&g_697}},{{&g_1831,&g_697,&g_697}},{{&g_697,&g_225,&g_29}},{{&g_1831,&g_225,&g_1831}}};
            uint16_t l_3627 = 0x79ADL;
            uint32_t l_3637[1][9][6];
            int i, j, k;
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 7; j++)
                    l_3620[i][j] = 0xFCFE4913L;
            }
            for (i = 0; i < 1; i++)
            {
                for (j = 0; j < 9; j++)
                {
                    for (k = 0; k < 6; k++)
                        l_3637[i][j][k] = 0xE63DADEBL;
                }
            }
            l_3627++;
            (*l_3617) ^= (l_3623 <= ((safe_sub_func_uint64_t_u_u((0xFBA1L >= l_3626[2][1][0]), (safe_sub_func_int8_t_s_s(((void*)0 != (*g_1355)), (safe_mod_func_uint32_t_u_u(((0x137E5655L ^ (*l_3615)) & ((0x03D7C02B80CC2F8ALL & (*g_2561)) ^ l_3622)), l_3626[6][4][0])))))) > 0xBD61L));
            l_3637[0][0][4]--;
            (*l_3617) = 0x599E9C90L;
        }
        else
        { /* block id: 1598 */
            int32_t l_3641 = 0xD0E15755L;
            int32_t *l_3647 = (void*)0;
            int64_t l_3690[7];
            int32_t l_3702 = 3L;
            int32_t l_3704 = 0xBCF15C10L;
            int32_t l_3705 = 0x3BB8DF67L;
            int32_t l_3706 = (-7L);
            int32_t l_3707 = 1L;
            int32_t l_3708 = 4L;
            int32_t l_3709 = 1L;
            int32_t l_3710 = 0x258F3356L;
            int32_t l_3712 = 1L;
            int32_t l_3713 = 1L;
            int8_t l_3732[2];
            union U1 **l_3787 = (void*)0;
            const uint32_t l_3793[3] = {18446744073709551610UL,18446744073709551610UL,18446744073709551610UL};
            int16_t l_3870 = 0xEDB5L;
            int64_t l_3897 = 0x29AB7C9052581798LL;
            int i;
            for (i = 0; i < 7; i++)
                l_3690[i] = (-7L);
            for (i = 0; i < 2; i++)
                l_3732[i] = 5L;
            if (((+((g_2112 = (((((*g_1937) = l_3593) == (g_3654 &= (l_3641 , (safe_rshift_func_int8_t_s_u((!((***g_413) >= (((safe_mul_func_int64_t_s_s(l_3610, (l_3647 != (**g_2521)))) , (safe_mul_func_uint32_t_u_u((safe_div_func_int8_t_s_s((0x5EL == (safe_rshift_func_int8_t_s_u(0x40L, 6))), (**g_1129))), l_3641))) , 0L))), 4))))) , (*g_415)) < l_3641)) == (***g_2575))) && l_3622))
            { /* block id: 1602 */
lbl_3657:
                for (g_195 = (-19); (g_195 != (-2)); ++g_195)
                { /* block id: 1605 */
                    (*g_2113) = (*g_2113);
                }
            }
            else
            { /* block id: 1608 */
                uint32_t *l_3671 = &g_1735[3].f1;
                uint32_t *l_3672 = (void*)0;
                uint32_t *l_3673 = &l_3608;
                int32_t l_3682[4] = {0x6DDDBD1FL,0x6DDDBD1FL,0x6DDDBD1FL,0x6DDDBD1FL};
                int16_t ****l_3683[3];
                int64_t *l_3685[9] = {&g_273[4][1],&g_273[4][1],&g_273[4][1],&g_273[4][1],&g_273[4][1],&g_273[4][1],&g_273[4][1],&g_273[4][1],&g_273[4][1]};
                int64_t l_3686 = (-1L);
                int32_t l_3687[10][4] = {{1L,7L,0xFB75F993L,(-5L)},{(-1L),0xB16A7481L,0xB16A7481L,(-1L)},{(-1L),0xA26B26C3L,0xFB75F993L,0xCE6EE211L},{1L,(-1L),0x5EC55826L,1L},{(-5L),1L,(-5L),1L},{0x5EC55826L,(-1L),1L,0xCE6EE211L},{0xFB75F993L,0xA26B26C3L,(-1L),(-1L)},{0xB16A7481L,0xB16A7481L,(-1L),(-5L)},{0xFB75F993L,7L,1L,0xA26B26C3L},{0x5EC55826L,1L,(-5L),1L}};
                uint8_t l_3689 = 0x7EL;
                union U1 **l_3694 = &g_1998;
                int32_t *l_3695 = (void*)0;
                int32_t *l_3696 = (void*)0;
                int32_t *l_3697 = &l_3625[0][3][2];
                int32_t *l_3698 = &g_1831;
                int32_t *l_3699 = &l_3624;
                int32_t *l_3700 = &l_3624;
                int32_t *l_3701 = (void*)0;
                int32_t *l_3703[10] = {&g_29,&l_3626[2][1][0],&l_3626[2][1][0],&g_29,&l_3623,&g_29,&l_3626[2][1][0],&l_3626[2][1][0],&g_29,&l_3623};
                int i, j;
                for (i = 0; i < 3; i++)
                    l_3683[i] = &g_2575;
                if (g_2876.f0)
                    goto lbl_3657;
                (*l_3694) = ((g_3693[1] , (**g_1446)) , (*g_1997));
                ++l_3714;
            }
            (*g_178) = &l_3704;
            if (l_3684)
            { /* block id: 1623 */
                uint16_t l_3717 = 65534UL;
                int32_t l_3730 = 0L;
                if (l_3717)
                { /* block id: 1624 */
                    int32_t l_3718[7][7][5] = {{{0xF0B814E2L,0xF0B814E2L,0x18511E86L,0L,0xB865B2D5L},{0x541216A1L,(-1L),(-1L),(-8L),0L},{0L,0xDE543569L,3L,(-5L),0L},{0xA79822F2L,(-1L),0x21B9AAE6L,(-1L),(-2L)},{9L,0xF0B814E2L,0xB46C51C4L,0x7CEABC95L,0x9D124CAEL},{0L,0x18511E86L,0xD06B6466L,1L,0L},{0x27F94508L,0xD06B6466L,0L,(-1L),(-1L)}},{{0x7CEABC95L,0x4B900795L,(-6L),(-4L),0xB380B9EEL},{(-6L),0L,(-8L),0x18511E86L,0x950FA30FL},{8L,0xAB602D06L,(-9L),0x066AB319L,0xD9FEFDC2L},{(-6L),0xDCD5A1E4L,7L,0x21B9AAE6L,(-9L)},{(-3L),2L,0xB46C51C4L,0x4B900795L,(-1L)},{0xACE8E8EFL,(-1L),3L,0xABF9536EL,0x4707A416L},{0L,0x7A444FA7L,0x950FA30FL,0xF450C859L,9L}},{{0xD4B3E03DL,0x6B9417E2L,(-10L),0x9448BDE8L,9L},{0xB46C51C4L,(-5L),0xFD73CA7AL,1L,0x4707A416L},{(-7L),1L,0xC5DEDC79L,0xFC01BB45L,(-1L)},{7L,0xDE543569L,0L,(-6L),(-9L)},{0xECEAD77AL,1L,0L,3L,0xD9FEFDC2L},{0L,0x066AB319L,0xF0B814E2L,0x8CF42841L,(-8L)},{(-1L),(-10L),0x9439F697L,0x18511E86L,0xA78597AFL}},{{0xC5DEDC79L,0xB380B9EEL,0xB9F1842EL,(-7L),6L},{(-3L),0xF0BB2D31L,1L,8L,0x27F94508L},{0x1EB5897CL,0x22A3E3A6L,1L,0L,0L},{0L,0x7A444FA7L,0L,0x1E0EFFFAL,0x78AA73CFL},{0xEA98CB09L,0x27F94508L,(-6L),(-9L),(-1L)},{0L,(-7L),0xFD73CA7AL,0xECEAD77AL,0x4B900795L},{(-9L),0L,(-6L),(-1L),(-7L)}},{{0xB9F1842EL,0xACE8E8EFL,0L,(-6L),(-1L)},{0xDCD5A1E4L,(-8L),1L,0xB865B2D5L,(-7L)},{0x9D124CAEL,9L,1L,0x68C3253FL,(-8L)},{0xD95DE759L,0x3FE340FFL,0xB9F1842EL,9L,0xF0BB2D31L},{0x701D827FL,0x8CF42841L,0x9439F697L,0L,7L},{(-3L),0xD9FEFDC2L,0xF0B814E2L,0x950FA30FL,0L},{0x3FE340FFL,(-9L),0L,(-1L),0xD95DE759L}},{{0x950FA30FL,0x7A444FA7L,0L,(-1L),(-5L)},{0xD0C68764L,1L,0xC5DEDC79L,1L,3L},{0x68C3253FL,0xA78597AFL,0xFD73CA7AL,0xF0B814E2L,(-1L)},{0x9439F697L,1L,(-10L),0x78AA73CFL,(-1L)},{0x9439F697L,0xC5DEDC79L,0x950FA30FL,(-6L),0x4E953A42L},{0x68C3253FL,0x18511E86L,3L,0xEE60F622L,0L},{0xD0C68764L,(-1L),0xB46C51C4L,0L,(-8L)}},{{0x950FA30FL,0L,7L,(-8L),0xFD73CA7AL},{0x3FE340FFL,0xF0B814E2L,(-9L),8L,(-7L)},{(-3L),0L,0L,0x4707A416L,(-9L)},{0x701D827FL,(-7L),(-9L),(-1L),8L},{0xD95DE759L,0x7A444FA7L,0x4707A416L,0x11103B73L,1L},{0x9D124CAEL,(-9L),(-3L),1L,0x6B9417E2L},{2L,0x11103B73L,0x11103B73L,2L,1L}}};
                    int32_t *l_3727 = &l_3623;
                    int32_t *l_3728 = &l_3713;
                    int32_t *l_3729[10] = {(void*)0,&l_3704,(void*)0,&l_3704,(void*)0,&l_3704,(void*)0,&l_3704,(void*)0,&l_3704};
                    int32_t l_3731 = 0x0CF0D72DL;
                    uint64_t *l_3749 = (void*)0;
                    uint64_t *l_3750 = &g_95[0][1][7];
                    int32_t *****l_3753[10];
                    int8_t *l_3771[2][9] = {{&l_3732[0],&l_3732[0],(void*)0,&l_3732[0],&l_3732[0],(void*)0,&l_3732[0],&l_3732[0],(void*)0},{&g_1907,&g_1907,&g_2144,&g_1907,&g_1907,&g_2144,&g_1907,&g_1907,&g_2144}};
                    int64_t l_3773 = 0xCB5756490CADE37ELL;
                    uint64_t l_3774 = 4UL;
                    int i, j, k;
                    for (i = 0; i < 10; i++)
                        l_3753[i] = &g_2738;
                    if (((***g_1787) == (void*)0))
                    { /* block id: 1625 */
                        int32_t *l_3719 = &l_3613;
                        int32_t *l_3720 = &l_3707;
                        int32_t *l_3721 = &g_697;
                        int32_t *l_3722[6][7][1] = {{{(void*)0},{&l_3707},{&l_3613},{&l_3641},{&l_3707},{&l_3626[2][1][0]},{&g_697}},{{(void*)0},{&l_3626[2][1][0]},{&l_3641},{&l_3641},{&l_3626[2][1][0]},{(void*)0},{&g_697}},{{&l_3626[2][1][0]},{&l_3707},{&l_3641},{&l_3613},{&l_3707},{(void*)0},{(void*)0}},{{(void*)0},{&l_3707},{&l_3613},{&l_3641},{&l_3707},{&l_3626[2][1][0]},{&g_697}},{{(void*)0},{&l_3626[2][1][0]},{&l_3641},{&l_3641},{&l_3626[2][1][0]},{(void*)0},{&g_697}},{{&l_3626[2][1][0]},{&l_3707},{&l_3641},{&l_3613},{&l_3707},{(void*)0},{(void*)0}}};
                        uint16_t l_3723 = 0x9A58L;
                        int i, j, k;
                        l_3723--;
                        (*g_179) = l_3717;
                    }
                    else
                    { /* block id: 1628 */
                        int16_t l_3726[2];
                        int i;
                        for (i = 0; i < 2; i++)
                            l_3726[i] = 0x46E8L;
                        return l_3726[1];
                    }
                    l_3733--;
                    l_3774 ^= ((((safe_mod_func_int64_t_s_s((safe_lshift_func_int32_t_s_s(((*l_3728) = l_3626[8][4][0]), ((safe_lshift_func_int64_t_s_u((((((safe_lshift_func_uint32_t_u_u(((+(safe_lshift_func_uint64_t_u_u(((--(*g_162)) && ((((((*l_3750)++) , &g_2520) == (l_3754 = l_3753[5])) == (safe_div_func_int32_t_s_s(((((5L || (safe_mod_func_uint16_t_u_u(((safe_lshift_func_uint64_t_u_u((((((safe_mod_func_uint16_t_u_u(l_3717, 8L)) ^ (l_3625[5][3][1] = ((safe_sub_func_int8_t_s_s(((*g_415) = (safe_div_func_int16_t_s_s((-7L), ((*g_1356) = ((((((safe_rshift_func_int32_t_s_u(l_3717, 11)) >= (((*g_1018) , (**g_1442)) , 7UL)) >= l_3704) & l_3717) <= (*g_415)) || (**g_2359)))))), l_3636)) || (*g_2564)))) , l_3608) != l_3626[2][1][0]) | (**g_2359)), 52)) , g_3772), 1L))) , 0UL) <= 0x1FL) , l_3636), l_3717))) && 0xF1EEL)), l_3684))) ^ l_3717), l_3593)) , (void*)0) == (*g_2574)) | 0UL) >= l_3773), l_3717)) , (-8L)))), l_3690[1])) <= l_3709) | (**g_1129)) & l_3717);
                    if (l_3733)
                        goto lbl_3657;
                }
                else
                { /* block id: 1641 */
                    for (g_345.f3 = (-21); (g_345.f3 >= 20); g_345.f3 = safe_add_func_int8_t_s_s(g_345.f3, 1))
                    { /* block id: 1644 */
                        if (l_3688)
                            break;
                        return (*g_2564);
                    }
                    (***g_3122) = 0x5A71A5FFL;
                    (*g_178) = &l_3710;
                }
            }
            else
            { /* block id: 1651 */
                int64_t l_3780 = 0x9A36F2600A7EB9B5LL;
                int32_t l_3794 = 0L;
                int8_t *l_3809 = (void*)0;
                int64_t l_3827 = (-4L);
                uint16_t l_3838[9][8][3] = {{{0x2883L,0x8F17L,0UL},{0x4CE5L,0x8F17L,0x9D1FL},{0xEB9AL,0xEB9AL,0xF1DFL},{0xA4F6L,0xA2E6L,0x9442L},{1UL,6UL,1UL},{65527UL,0x4CE5L,0UL},{65529UL,1UL,1UL},{0x8F17L,0xC21FL,0x9442L}},{{0x02B7L,1UL,0xF1DFL},{0x2B0BL,65535UL,0x9D1FL},{0x3D64L,65531UL,0UL},{0x3D64L,0x02B7L,1UL},{0x2B0BL,0xFA63L,5UL},{0x02B7L,0x2883L,1UL},{0x8F17L,65529UL,0UL},{65529UL,0x0B6DL,0UL}},{{65527UL,65529UL,0x3107L},{1UL,0x2883L,0UL},{0xA4F6L,0xFA63L,1UL},{0xEB9AL,0x02B7L,1UL},{0x4CE5L,65531UL,1UL},{0x2883L,65535UL,1UL},{0xFEC8L,1UL,0UL},{2UL,0xC21FL,0x3107L}},{{5UL,1UL,0UL},{65531UL,0x4CE5L,0UL},{5UL,6UL,1UL},{2UL,0xA2E6L,5UL},{0xFEC8L,0xEB9AL,1UL},{0x2883L,0x8F17L,0UL},{0x4CE5L,0x8F17L,0x9D1FL},{0xEB9AL,0xEB9AL,0xF1DFL}},{{0xA4F6L,0xA2E6L,0x9442L},{1UL,6UL,1UL},{65527UL,0x4CE5L,0UL},{65529UL,1UL,1UL},{0x8F17L,0xC21FL,0x9442L},{0x02B7L,0x9835L,0x4CE5L},{0xD3C7L,3UL,1UL},{65535UL,65535UL,0x0B6DL}},{{65535UL,65534UL,65527UL},{0xD3C7L,0UL,0xEB9AL},{65534UL,0xFB1CL,0x3D64L},{0x9DF9L,0xE3DFL,0UL},{0xE3DFL,0x3592L,65531UL},{0xDB50L,0xE3DFL,0xFA63L},{65528UL,0xFB1CL,0xFA07L},{0x2AAAL,0UL,0xA2E6L}},{{65535UL,65534UL,0xFEC8L},{65535UL,65535UL,0xFEC8L},{0xFB1CL,3UL,0xA2E6L},{65526UL,0x9835L,0xFA07L},{65535UL,0x74ECL,0xFA63L},{8UL,65528UL,65531UL},{0x5225L,65535UL,0UL},{8UL,0xFD76L,0x3D64L}},{{65535UL,0x1112L,0xEB9AL},{65526UL,65535UL,65527UL},{0xFB1CL,0x9DF9L,0x0B6DL},{65535UL,0x9DF9L,1UL},{65535UL,65535UL,0x4CE5L},{0x2AAAL,0x1112L,0xA4F6L},{65528UL,0xFD76L,6UL},{0xDB50L,65535UL,0x2883L}},{{0xE3DFL,65528UL,6UL},{0x9DF9L,0x74ECL,0xA4F6L},{65534UL,0x9835L,0x4CE5L},{0xD3C7L,3UL,1UL},{65535UL,65535UL,0x0B6DL},{65535UL,65534UL,65527UL},{0xD3C7L,0UL,0xEB9AL},{65534UL,0xFB1CL,0x3D64L}}};
                uint16_t l_3873 = 0xD129L;
                int i, j, k;
                l_3794 |= ((((**g_178) , (safe_rshift_func_uint32_t_u_u(0x5E44EE00L, ((safe_unary_minus_func_uint8_t_u((((((****g_1787) |= l_3780) & (((safe_add_func_int64_t_s_s((safe_rshift_func_uint16_t_u_s(((****g_2574) && (+(safe_unary_minus_func_int16_t_s(((&g_1998 != l_3787) == (safe_lshift_func_uint16_t_u_s(0x5ABAL, (l_3688 >= ((safe_div_func_int8_t_s_s((g_2884.f0 == l_3705), g_3792)) & 1UL))))))))), (*****g_2573))), 6L)) | l_3626[2][1][0]) ^ l_3793[1])) && 65535UL) > 1L))) <= g_811[4][0])))) && (-2L)) , l_3732[0]);
                for (g_2267 = (-1); (g_2267 > 42); g_2267++)
                { /* block id: 1656 */
                    uint8_t l_3797 = 250UL;
                    (*g_179) ^= l_3797;
                    if (l_3797)
                        continue;
                }
                for (g_3586 = (-6); (g_3586 >= 28); g_3586 = safe_add_func_uint64_t_u_u(g_3586, 1))
                { /* block id: 1662 */
                    uint16_t l_3812 = 0xF7BBL;
                    int32_t l_3831 = 0xEE40E43BL;
                    uint64_t l_3869 = 0x301D7FD83ABA57ADLL;
                    for (g_2267 = 0; (g_2267 == 5); g_2267 = safe_add_func_int16_t_s_s(g_2267, 1))
                    { /* block id: 1665 */
                        uint64_t l_3802[1][3];
                        int i, j;
                        for (i = 0; i < 1; i++)
                        {
                            for (j = 0; j < 3; j++)
                                l_3802[i][j] = 0xA8165EAC52480C1BLL;
                        }
                        l_3802[0][2] &= l_3622;
                    }
                    for (g_3111.f2 = 8; (g_3111.f2 <= 33); g_3111.f2++)
                    { /* block id: 1670 */
                        if (l_3794)
                            break;
                        (*g_178) = (*g_2974);
                        if ((**g_2974))
                            break;
                    }
                    if ((((*l_3611) &= ((+(((***g_413) &= l_3780) ^ ((((*g_3549) != (*g_3549)) , ((l_3808 == l_3809) , (safe_rshift_func_uint64_t_u_u(l_3812, 29)))) < (safe_div_func_uint64_t_u_u(g_24, ((**g_1419) , l_3812)))))) < 0x77L)) , l_3625[5][3][1]))
                    { /* block id: 1677 */
                        int32_t *l_3815 = &l_3709;
                        int32_t *l_3816 = &g_1831;
                        int32_t *l_3817 = &l_3623;
                        int32_t *l_3818 = &l_3713;
                        int32_t *l_3819 = &g_24;
                        int32_t *l_3820 = &l_3707;
                        int32_t *l_3821 = &l_3625[5][3][1];
                        int32_t *l_3822 = &l_3609;
                        int32_t *l_3823 = &l_3625[2][2][0];
                        int32_t *l_3824 = &l_3709;
                        int32_t *l_3825 = &g_24;
                        int32_t *l_3826[10][1][8] = {{{&l_3702,&l_3704,&l_3706,&l_3704,&l_3702,&g_697,&l_3609,&l_3626[2][1][0]}},{{&l_3706,&g_24,(void*)0,&l_3708,&g_1050,&l_3712,(void*)0,&l_3704}},{{(void*)0,&l_3609,(void*)0,&l_3706,&l_3706,(void*)0,&l_3609,(void*)0}},{{&g_1050,&g_225,&l_3706,&l_3626[2][1][0],(void*)0,&g_24,(void*)0,(void*)0}},{{&l_3710,&l_3708,(void*)0,&g_697,&l_3626[2][1][0],&g_24,&l_3626[2][1][0],&g_697}},{{&l_3609,&g_225,&l_3609,&l_3706,&g_24,(void*)0,&l_3708,&g_1050}},{{&g_697,&l_3609,&l_3626[2][1][0],(void*)0,&l_3710,&l_3712,&g_24,&g_24}},{{&g_697,&g_24,(void*)0,(void*)0,&g_24,&g_697,&g_225,&l_3702}},{{&l_3609,&l_3704,&l_3712,&g_225,&l_3626[2][1][0],&g_24,&g_1050,&l_3706}},{{&l_3710,&l_3702,&g_24,&g_225,(void*)0,&g_225,&g_24,&l_3702}}};
                        uint32_t l_3828 = 0x23FC5701L;
                        int i, j, k;
                        l_3828++;
                    }
                    else
                    { /* block id: 1679 */
                        int32_t *l_3832 = &l_3623;
                        int32_t *l_3833 = &l_3623;
                        int32_t *l_3834 = (void*)0;
                        int32_t *l_3835 = &g_697;
                        int32_t *l_3836[8] = {&l_3625[4][3][1],&l_3710,&l_3625[4][3][1],&l_3710,&l_3625[4][3][1],&l_3710,&l_3625[4][3][1],&l_3710};
                        union U1 **l_3859 = (void*)0;
                        union U1 **l_3860[3][2][10] = {{{&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998},{&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998}},{{&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998},{&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998}},{{&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998},{&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998,&g_1998}}};
                        uint64_t *l_3871 = &g_2663.f2;
                        uint64_t *l_3872 = &l_3660[0];
                        int i, j, k;
                        (**g_178) ^= l_3812;
                        l_3838[1][2][1]--;
                        (*l_3835) |= (safe_lshift_func_uint64_t_u_s((((safe_lshift_func_uint64_t_u_u((((*l_3872) ^= ((safe_mod_func_uint8_t_u_u((safe_mod_func_int8_t_s_s((+(~(((safe_lshift_func_uint16_t_u_s(((0xD513L <= ((g_24 & (safe_mul_func_uint8_t_u_u(((***g_1618) = ((safe_div_func_uint8_t_u_u((((*g_1997) = (*g_2973)) == g_614[0][0][5]), 0xF9L)) == (safe_rshift_func_int32_t_s_s(((((&g_2829 == &g_2829) , (((safe_mod_func_int64_t_s_s((safe_div_func_int32_t_s_s(2L, ((safe_mod_func_int8_t_s_s(((****g_1787) = (*l_3832)), (*g_162))) && l_3625[5][3][1]))), l_3831)) <= l_3869) & l_3870)) < l_3838[1][2][1]) || l_3780), l_3608)))), (-1L)))) >= 7UL)) || l_3831), 9)) == (*g_179)) ^ 0xE814L))), l_3733)), l_3780)) , 1UL)) != 0UL), 29)) ^ l_3608) == 0x7C18L), l_3873));
                        (**g_178) &= (safe_unary_minus_func_uint8_t_u((*g_162)));
                    }
                }
                (*g_179) &= (-1L);
            }
            (*g_179) &= (((((((safe_mod_func_int32_t_s_s(l_3732[1], (((safe_sub_func_int16_t_s_s((***g_2575), (safe_mul_func_uint16_t_u_u(l_3881[2][5][2], (safe_lshift_func_uint8_t_u_u(0xB7L, 3)))))) != l_3684) , (safe_rshift_func_uint8_t_u_s((((&g_2564 != &l_3611) , ((safe_mod_func_uint32_t_u_u(l_3626[7][5][0], ((((safe_add_func_uint16_t_u_u(((((safe_lshift_func_uint8_t_u_u(((safe_mod_func_int32_t_s_s((((***g_2575) = ((***g_1618) , l_3894)) & (**g_2359)), l_3636)) < 0x80L), l_4)) | 0x59609E42L) == l_3732[1]) == l_3623), (-9L))) | l_3895) || l_3712) , 0x374AC445L))) > l_3626[5][6][0])) & 4294967295UL), 3))))) , l_3896) < (****g_412)) , 18446744073709551615UL) != l_3897) , 0x72L) , 0x361C4BD4L);
        }
        ++g_3912;
        l_3915[4] = &l_3625[5][3][1];
        (*l_3902) = l_3916;
    }
    (*l_3918) = ((*g_178) = l_3917);
    return (*g_2564);
}


/* ------------------------------------------ */
/* 
 * reads : g_1998 g_881 g_3223 g_2359 g_2360 g_12 g_1787 g_413 g_414 g_415 g_162 g_33.f0 g_1355 g_1356 g_3122 g_2113 g_2114 g_3055.f0
 * writes: g_243 g_195 g_247 g_2115 g_3055.f0
 */
static uint32_t  func_7(int32_t  p_8, int64_t  p_9, int32_t  p_10, int8_t  p_11)
{ /* block id: 1375 */
    uint32_t l_3212 = 0x45D303E9L;
    uint16_t *l_3213 = &g_243;
    uint32_t ****l_3214 = &g_1832;
    int64_t l_3228 = 1L;
    int8_t *** const *l_3231 = &g_751;
    const int32_t ***l_3254 = (void*)0;
    int32_t l_3292 = 1L;
    int32_t l_3294[5] = {0xD53A3CFCL,0xD53A3CFCL,0xD53A3CFCL,0xD53A3CFCL,0xD53A3CFCL};
    int8_t l_3308[6][5][6] = {{{0xB4L,0xB4L,5L,0xACL,0x0AL,0xE8L},{(-8L),(-10L),(-2L),5L,0x3CL,5L},{(-2L),(-8L),(-2L),(-2L),0xB4L,0xE8L},{7L,(-2L),5L,(-6L),0xD8L,0xD8L},{(-6L),0xD8L,0xD8L,(-6L),5L,(-2L)}},{{7L,0xE8L,0xB4L,(-2L),(-2L),(-8L)},{(-2L),5L,0x3CL,5L,(-2L),(-10L)},{(-8L),0xE8L,0x0AL,0xACL,5L,0xB4L},{0xB4L,0xD8L,0xE8L,0xE8L,0xD8L,0xB4L},{0xACL,(-2L),0x0AL,(-2L),0xB4L,(-10L)}},{{0xD8L,(-8L),0x3CL,0xB4L,0x3CL,(-8L)},{0xD8L,(-10L),0xB4L,(-2L),0x0AL,(-2L)},{0xACL,0xB4L,0xD8L,0xE8L,0xE8L,0xD8L},{0xB4L,0xB4L,5L,0xACL,0x0AL,0xE8L},{(-8L),(-10L),(-2L),5L,0x3CL,5L}},{{(-2L),(-8L),(-2L),(-2L),0xB4L,0xE8L},{7L,(-2L),5L,(-6L),0xD8L,0xD8L},{(-6L),0xD8L,0xD8L,(-6L),5L,(-2L)},{7L,0xE8L,0xB4L,(-2L),(-2L),(-8L)},{(-2L),5L,0x3CL,5L,(-2L),(-10L)}},{{(-8L),0xE8L,0x0AL,0xACL,(-8L),5L},{5L,(-6L),0xD8L,0xD8L,(-6L),5L},{(-2L),(-10L),0x3CL,0xE8L,5L,0x0AL},{(-6L),0xACL,7L,5L,7L,0xACL},{(-6L),0x0AL,5L,0xE8L,0x3CL,(-10L)}},{{(-2L),5L,(-6L),0xD8L,0xD8L,(-6L)},{5L,5L,(-8L),(-2L),0x3CL,0xD8L},{0xACL,0x0AL,0xE8L,(-8L),7L,(-8L)},{0xE8L,0xACL,0xE8L,(-10L),5L,0xD8L},{(-2L),(-10L),(-8L),0xB4L,(-6L),(-6L)}}};
    uint16_t l_3397 = 0x61FFL;
    uint32_t **l_3419 = (void*)0;
    int64_t l_3438[4] = {(-1L),(-1L),(-1L),(-1L)};
    int32_t l_3468 = 0xD7296954L;
    int32_t ***l_3473 = (void*)0;
    int i, j, k;
    (***g_3122) = 
	(
		l_3212 != (
					((*l_3213) = 0xBC92L) <= 
					(
						(**g_1355) = (
										(*g_1998) , 
										(
											(
												(
													((void*)0 == l_3214) , 
													(
														(
															safe_lshift_func_int8_t_s_u(
																(
																	(****g_1787) = 
																	(
																		safe_sub_func_uint64_t_u_u(
																			(
																				(
																					safe_sub_func_uint16_t_u_u(
																						(
																							(
																								safe_lshift_func_uint32_t_u_s(
																									l_3212, 
																									(
																										(((g_3223 , ((**g_2359) != ((((((safe_lshift_func_uint32_t_u_s((safe_lshift_func_uint16_t_u_u(((-1L) < l_3228), p_8)), p_11)) == 0L) > p_8) , p_11) == l_3228) ^ 0xD8A49BFDL))) ^ 0x669F1C80393702B4LL) < l_3212) != p_8))
																							) && p_11
																						), (*g_2360)
																					)
																				) ^ l_3212
																			), p_11
																		)
																	)
																), (*g_162)
															)
														) 
														!= l_3228
													)
												) & 0UL
											) ^ 18446744073709551615UL
										)
									  )
					)
				)
		);
    for (g_3055.f0 = 24; (g_3055.f0 < 13); g_3055.f0 = safe_sub_func_uint8_t_u_u(g_3055.f0, 6))
    { /* block id: 1382 */
        int8_t *** const **l_3232 = &l_3231;
        int16_t *****l_3252 = &g_2574;
        uint32_t *l_3265 = (void*)0;
        int32_t l_3275 = 0xD4712CEBL;
        int32_t l_3297 = (-1L);
        int32_t l_3298 = 0xE648160FL;
        int32_t l_3300 = (-9L);
        int32_t l_3302 = (-10L);
        int32_t l_3304[3];
        uint64_t l_3310 = 0UL;
        const struct S0 ****l_3320 = (void*)0;
        int32_t *l_3377 = &l_3294[2];
        uint32_t l_3425[10];
        uint16_t ** const l_3457 = &l_3213;
        int32_t * const **l_3535 = &g_3533[4];
        int i;
        for (i = 0; i < 3; i++)
            l_3304[i] = 0x68542DBDL;
        for (i = 0; i < 10; i++)
            l_3425[i] = 0xF727E6F7L;
        (*l_3232) = l_3231;
    }
    return p_8;
}


/* ------------------------------------------ */
/* 
 * reads : g_1907 g_2876.f0 g_1937 g_243
 * writes: g_1907 g_2876.f0
 */
static uint16_t  func_15(uint16_t  p_16, uint8_t  p_17, uint16_t  p_18)
{ /* block id: 1249 */
    int32_t l_2980 = 0xF0C2C900L;
    uint32_t l_3019 = 0UL;
    int32_t *l_3022[7] = {&g_1831,&g_1831,&g_1831,&g_1831,&g_1831,&g_1831,&g_1831};
    int32_t l_3063 = (-8L);
    const struct S0 ***l_3067 = (void*)0;
    const struct S0 **** const l_3066[10][4] = {{&l_3067,&l_3067,&l_3067,&l_3067},{&l_3067,&l_3067,&l_3067,&l_3067},{&l_3067,&l_3067,&l_3067,&l_3067},{&l_3067,(void*)0,&l_3067,&l_3067},{&l_3067,&l_3067,&l_3067,&l_3067},{&l_3067,&l_3067,&l_3067,(void*)0},{&l_3067,&l_3067,&l_3067,&l_3067},{&l_3067,&l_3067,&l_3067,(void*)0},{&l_3067,&l_3067,&l_3067,&l_3067},{&l_3067,&l_3067,&l_3067,&l_3067}};
    int16_t l_3089[6] = {0L,0L,(-1L),0L,0L,(-1L)};
    int32_t ***l_3104 = &g_2522;
    uint16_t **l_3107 = &g_2683;
    uint16_t ***l_3106 = &l_3107;
    uint16_t ****l_3105 = &l_3106;
    int8_t l_3138 = (-1L);
    int32_t l_3164 = 0L;
    uint32_t * const *l_3185 = &g_1834[0][0];
    int32_t l_3190 = 6L;
    union U1 **l_3198 = &g_1998;
    uint32_t l_3208[2];
    int i, j;
    for (i = 0; i < 2; i++)
        l_3208[i] = 18446744073709551615UL;
    for (g_1907 = 7; (g_1907 > (-19)); g_1907--)
    { /* block id: 1252 */
        int16_t l_3003[1];
        int32_t l_3018 = 0x67965091L;
        int32_t *l_3044 = &g_24;
        int32_t l_3047 = 8L;
        int8_t l_3086 = (-6L);
        uint16_t l_3103[2];
        int8_t ****l_3115 = &g_751;
        int32_t l_3168[2];
        union U1 **l_3197[8];
        int32_t l_3206[10][9] = {{1L,(-1L),3L,0xA1671531L,0xEF72E207L,9L,0x2D71B340L,0x6B1D3010L,(-1L)},{(-9L),0x9B2063C0L,0xEF72E207L,(-6L),1L,7L,0xD9DC574EL,0xDE697255L,0x6B1D3010L},{0xD9DC574EL,0x6B1D3010L,(-1L),(-1L),(-1L),(-1L),(-1L),(-1L),0x6B1D3010L},{0xEF72E207L,(-9L),(-1L),0x9CC32289L,(-3L),1L,0x07EFF5CDL,(-6L),(-1L)},{0x2D71B340L,1L,0x4F299A70L,(-1L),(-6L),0x07EFF5CDL,1L,(-3L),0x9CC32289L},{9L,(-9L),0xD9DC574EL,0x6B1D3010L,(-1L),(-1L),(-1L),(-1L),(-1L)},{0xDE697255L,0x6B1D3010L,9L,0x6B1D3010L,0xDE697255L,0xD9DC574EL,7L,1L,(-6L)},{0x9CC32289L,0x9B2063C0L,0x6A41F874L,(-1L),0x6B1D3010L,0x2D71B340L,9L,0xEF72E207L,0xA1671531L},{0xA1671531L,(-1L),0xD77F87BAL,0x9CC32289L,1L,0xD9DC574EL,0x6B1D3010L,0x1E4CDE16L,(-1L)},{0xDE697255L,0x1E4CDE16L,0x07EFF5CDL,(-1L),(-9L),(-1L),0x07EFF5CDL,0x1E4CDE16L,0xDE697255L}};
        int8_t l_3207[4] = {0x50L,0x50L,0x50L,0x50L};
        int i, j;
        for (i = 0; i < 1; i++)
            l_3003[i] = 3L;
        for (i = 0; i < 2; i++)
            l_3103[i] = 65535UL;
        for (i = 0; i < 2; i++)
            l_3168[i] = 0x739C90ACL;
        for (i = 0; i < 8; i++)
            l_3197[i] = &g_1998;
        for (g_2876.f0 = 0; (g_2876.f0 >= 24); g_2876.f0 = safe_add_func_uint8_t_u_u(g_2876.f0, 1))
        { /* block id: 1255 */
            int64_t l_2981 = 0x9924687C76657BB5LL;
            uint32_t l_2999 = 0x1100BC54L;
            int8_t *l_3017[3];
            int32_t *l_3023 = &l_3018;
            struct S0 **l_3046 = &g_35;
            int32_t l_3048 = 1L;
            uint32_t l_3065 = 0xCDAC9B48L;
            uint32_t l_3087 = 0x0AE782E7L;
            struct S0 *****l_3110 = (void*)0;
            const int64_t l_3163 = 0x55C349DB5F364F09LL;
            int32_t l_3167 = 0L;
            int32_t l_3169 = (-5L);
            uint8_t l_3171 = 0x8EL;
            int32_t l_3187[2];
            int8_t l_3192 = 0x2EL;
            uint16_t l_3193 = 65530UL;
            int16_t *l_3205 = &l_3003[0];
            int i;
            for (i = 0; i < 3; i++)
                l_3017[i] = (void*)0;
            for (i = 0; i < 2; i++)
                l_3187[i] = 0x44CCDD1BL;
        }
        l_3208[0]++;
    }
    return (*g_1937);
}


/* ------------------------------------------ */
/* 
 * reads : g_24 g_34 g_1937 g_243
 * writes: g_24 g_29 g_35
 */
static uint16_t  func_19(const uint32_t  p_20)
{ /* block id: 1 */
    uint64_t l_39 = 0xF8B874BDBAF9EB11LL;
    int32_t l_2116 = 1L;
    int32_t l_2117 = 0x9B564B9BL;
    int32_t *l_2119 = (void*)0;
    struct S0 **l_2146[3][7][10] = {{{&g_35,&g_35,(void*)0,(void*)0,&g_35,&g_35,&g_35,(void*)0,(void*)0,(void*)0},{&g_35,(void*)0,&g_35,&g_35,&g_35,&g_35,(void*)0,(void*)0,(void*)0,&g_35},{&g_35,(void*)0,&g_35,(void*)0,&g_35,&g_35,(void*)0,&g_35,(void*)0,(void*)0},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,(void*)0},{(void*)0,&g_35,&g_35,&g_35,&g_35,(void*)0,&g_35,(void*)0,&g_35,&g_35},{(void*)0,(void*)0,&g_35,&g_35,&g_35,&g_35,(void*)0,(void*)0,&g_35,(void*)0},{(void*)0,(void*)0,&g_35,&g_35,&g_35,(void*)0,(void*)0,&g_35,(void*)0,(void*)0}},{{(void*)0,(void*)0,(void*)0,(void*)0,&g_35,&g_35,&g_35,(void*)0,(void*)0,&g_35},{&g_35,(void*)0,&g_35,(void*)0,&g_35,&g_35,(void*)0,(void*)0,&g_35,&g_35},{&g_35,(void*)0,&g_35,(void*)0,&g_35,&g_35,(void*)0,&g_35,(void*)0,(void*)0},{&g_35,(void*)0,&g_35,&g_35,&g_35,&g_35,&g_35,(void*)0,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,(void*)0,&g_35,&g_35},{(void*)0,&g_35,(void*)0,&g_35,&g_35,&g_35,(void*)0,&g_35,&g_35,(void*)0},{(void*)0,(void*)0,&g_35,&g_35,&g_35,(void*)0,(void*)0,(void*)0,(void*)0,&g_35}},{{&g_35,(void*)0,&g_35,(void*)0,&g_35,&g_35,&g_35,(void*)0,&g_35,(void*)0},{&g_35,&g_35,&g_35,(void*)0,&g_35,&g_35,(void*)0,&g_35,(void*)0,&g_35},{&g_35,(void*)0,&g_35,(void*)0,&g_35,&g_35,&g_35,&g_35,(void*)0,&g_35},{&g_35,(void*)0,&g_35,&g_35,(void*)0,&g_35,&g_35,&g_35,&g_35,&g_35},{(void*)0,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,(void*)0,&g_35,&g_35,(void*)0,&g_35}}};
    int i, j, k;
    for (g_24 = (-7); (g_24 >= (-2)); g_24 = safe_add_func_uint16_t_u_u(g_24, 9))
    { /* block id: 4 */
        uint64_t *l_48 = &g_49;
        uint16_t *l_2111 = &g_2112;
        int32_t l_2118 = 0xAE53EEB9L;
        const struct S0 *l_2148 = &g_2149;
        const struct S0 **l_2147 = &l_2148;
        for (g_29 = (-2); (g_29 > 14); g_29++)
        { /* block id: 7 */
            struct S0 *l_32 = &g_33;
            (*g_34) = l_32;
        }
    }
    return (*g_1937);
}


/* ------------------------------------------ */
/* 
 * reads : g_1145.f0 g_1050 g_2574 g_2575 g_1355 g_1356 g_247 g_1937 g_243 g_2113 g_2114 g_1743.f2 g_1128 g_1129 g_1130 g_2115 g_1017 g_178 g_2561 g_361 g_2872 g_2883 g_2884 g_2359 g_2360 g_12 g_673.f0.f1 g_179 g_415 g_1439 g_35 g_33 g_1590 g_1997 g_1998 g_2917 g_483 g_162 g_412 g_413 g_414 g_195 g_1848 g_228.f0 g_2689 g_2690 g_615.f0.f0 g_2973
 * writes: g_1145.f0 g_2115 g_1743.f2 g_1050 g_2738 g_984 g_2114 g_1995 g_1846 g_2393.f0 g_179 g_1002 g_555.f0 g_1659.f0 g_2112 g_195 g_1998 g_881.f0.f0 g_1590.f0
 */
static int32_t  func_36(uint8_t  p_37, uint8_t  p_38)
{ /* block id: 904 */
    int8_t l_2157 = 0x27L;
    int32_t * const l_2164 = &g_1050;
    uint8_t *l_2181 = (void*)0;
    int32_t l_2199 = 1L;
    int32_t l_2200[2];
    const int32_t l_2324[7] = {0xDA151801L,5L,5L,0xDA151801L,5L,5L,0xDA151801L};
    uint32_t **l_2409 = &g_1834[0][0];
    int8_t ****l_2428[8] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
    int64_t *l_2499 = &g_361[1];
    int64_t **l_2498 = &l_2499;
    int32_t *l_2657 = &g_1050;
    int32_t *** const *l_2711 = &g_2521;
    int16_t ***** const l_2721 = &g_2574;
    uint16_t l_2722 = 1UL;
    int32_t ****l_2736 = &g_2521;
    uint32_t l_2783 = 4UL;
    union U1 * const *l_2823 = &g_1998;
    int16_t *l_2851[3][7] = {{(void*)0,&g_984,&g_984,(void*)0,&g_362[0][0][2],&g_247,(void*)0},{&g_247,&g_12[2],&g_362[0][0][2],&g_362[0][0][2],&g_12[2],&g_247,&g_984},{&g_12[2],(void*)0,&g_362[2][4][4],&g_362[3][0][3],&g_362[3][0][3],&g_362[2][4][4],(void*)0}};
    const uint32_t *l_2858 = &g_2857;
    struct S0 *l_2875[2][1][6] = {{{&g_2877,&g_2877,&g_2877,&g_2877,&g_2877,&g_2877}},{{&g_2877,&g_2877,&g_2877,&g_2877,&g_2877,&g_2877}}};
    uint16_t l_2882 = 65531UL;
    uint16_t **l_2902[5];
    uint16_t ***l_2901 = &l_2902[0];
    uint16_t ****l_2900 = &l_2901;
    int8_t l_2949 = 0xAAL;
    int i, j, k;
    for (i = 0; i < 2; i++)
        l_2200[i] = (-1L);
    for (i = 0; i < 5; i++)
        l_2902[i] = &g_2683;
    for (g_1145.f0 = 0; (g_1145.f0 <= 43); g_1145.f0 = safe_add_func_int16_t_s_s(g_1145.f0, 6))
    { /* block id: 907 */
        int16_t l_2153 = 0x32A4L;
        const int32_t l_2167 = 0x6A1B6A7CL;
        int64_t *l_2168 = &g_145;
        const int32_t l_2169 = 0x8A107EE4L;
        int32_t l_2196 = 0xC240663AL;
        int32_t l_2201 = (-1L);
        int32_t l_2205[4];
        int8_t * const l_2273 = &g_1907;
        uint8_t **l_2309 = &g_162;
        uint64_t l_2354 = 0x3E67D98DE91E0A0ALL;
        uint32_t l_2415[6][7] = {{0xAAF60EA6L,18446744073709551607UL,0UL,0xAAF60EA6L,0UL,18446744073709551607UL,0xAAF60EA6L},{18446744073709551613UL,0xAAF60EA6L,18446744073709551607UL,0UL,0xAAF60EA6L,0UL,18446744073709551607UL},{0xAAF60EA6L,0xAAF60EA6L,18446744073709551612UL,0x22F42466L,0xEA567E76L,18446744073709551612UL,0xEA567E76L},{0x22F42466L,18446744073709551607UL,18446744073709551607UL,0x22F42466L,0UL,18446744073709551613UL,0x22F42466L},{18446744073709551613UL,0xEA567E76L,0UL,0UL,0xEA567E76L,18446744073709551613UL,18446744073709551607UL},{0xEA567E76L,0x22F42466L,18446744073709551612UL,0xAAF60EA6L,0xAAF60EA6L,18446744073709551612UL,0x22F42466L}};
        int64_t l_2476 = 0L;
        int8_t * const *l_2484 = &g_415;
        int8_t * const **l_2483[9];
        uint8_t ****l_2530 = (void*)0;
        const uint16_t l_2548 = 65535UL;
        int32_t *l_2617 = &l_2196;
        int i, j;
        for (i = 0; i < 4; i++)
            l_2205[i] = 5L;
        for (i = 0; i < 9; i++)
            l_2483[i] = &l_2484;
    }
    (**g_2113) = ((((l_2721 == ((*l_2164) , &g_1353)) & (****g_2574)) == p_37) | ((*g_1937) ^ l_2722));
    for (g_1743.f2 = 0; (g_1743.f2 <= 1); g_1743.f2 += 1)
    { /* block id: 1127 */
        int32_t *** const *l_2739 = &g_2521;
        int16_t l_2741 = 1L;
        uint64_t l_2742 = 18446744073709551615UL;
        int32_t l_2750 = 5L;
        uint32_t l_2798 = 0xB91546A5L;
        int32_t ***l_2832 = &g_178;
        int16_t *l_2850 = (void*)0;
        int16_t **l_2849[9] = {&l_2850,&g_1356,&l_2850,&g_1356,&l_2850,&g_1356,&l_2850,&g_1356,&l_2850};
        const uint32_t * const l_2856 = &g_2857;
        uint32_t *l_2859 = (void*)0;
        int32_t l_2862 = (-1L);
        uint32_t l_2863 = 0UL;
        int8_t **l_2868 = &g_415;
        uint32_t ** const *l_2869 = &l_2409;
        struct S0 *l_2948 = &g_1939;
        int i;
        for (g_1050 = 4; (g_1050 >= 0); g_1050 -= 1)
        { /* block id: 1130 */
            int32_t *****l_2737[4];
            int32_t l_2740 = 1L;
            union U1 * const *l_2811 = &g_1998;
            int i;
            for (i = 0; i < 4; i++)
                l_2737[i] = &l_2736;
            l_2741 = ((safe_sub_func_int64_t_s_s(0xA99E674F9F1FA6DFLL, (safe_unary_minus_func_int16_t_s((safe_sub_func_int16_t_s_s((safe_rshift_func_int64_t_s_s((((safe_div_func_uint32_t_u_u(((safe_mul_func_int16_t_s_s((&p_38 != (**g_1128)), ((safe_lshift_func_uint16_t_u_s(p_37, (*l_2657))) && 0x9CFB0ABCBBCD2E24LL))) | p_38), p_37)) , (g_2738 = l_2736)) != l_2739), l_2740)), 0x827CL)))))) , 0xD4DFEEEDL);
            for (g_984 = 4; (g_984 >= 1); g_984 -= 1)
            { /* block id: 1135 */
                int i, j, k;
                (**g_2113) |= l_2742;
                (*g_2113) = (*g_2113);
            }
            for (g_1995 = 0; (g_1995 <= 4); g_1995 += 1)
            { /* block id: 1141 */
                int i, j, k;
                g_1846[(g_1743.f2 + 6)] = g_1017[(g_1050 + 1)][(g_1743.f2 + 2)][g_1743.f2];
            }
            for (g_2393.f0 = 0; (g_2393.f0 <= 1); g_2393.f0 += 1)
            { /* block id: 1146 */
                int32_t l_2744 = 0x7C15CB5FL;
                struct S0 **l_2752[4][10] = {{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35},{&g_35,&g_35,(void*)0,&g_35,&g_35,(void*)0,&g_35,&g_35,(void*)0,&g_35},{&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35,&g_35}};
                uint32_t *l_2757 = &g_1002;
                struct S0 ****l_2775 = &g_874[0];
                struct S0 *****l_2774 = &l_2775;
                int32_t l_2781 = (-1L);
                int32_t l_2782 = 0xB05E94A6L;
                int64_t l_2808 = (-1L);
                uint16_t **l_2838 = (void*)0;
                uint16_t ***l_2837 = &l_2838;
                int i, j, k;
                (*g_178) = (l_2744 , &l_2740);
                l_2750 = (((l_2744 , (safe_mul_func_uint16_t_u_u((safe_rshift_func_uint16_t_u_s(p_37, 9)), (safe_unary_minus_func_uint64_t_u(l_2750))))) <= p_37) & ((safe_unary_minus_func_uint64_t_u((l_2752[3][8] != (void*)0))) == (safe_rshift_func_uint16_t_u_u((safe_add_func_uint32_t_u_u(((*l_2757) = 0x3FC5627AL), p_38)), 9))));
                for (g_555.f0 = 0; (g_555.f0 <= 4); g_555.f0 += 1)
                { /* block id: 1152 */
                    int32_t l_2765 = 0L;
                    int32_t l_2770[5];
                    uint16_t *l_2771 = &l_2722;
                    struct S0 *****l_2776 = (void*)0;
                    uint32_t *l_2800 = &g_2053.f3;
                    uint8_t *l_2822[6] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
                    int i, j;
                    for (i = 0; i < 5; i++)
                        l_2770[i] = 0xBD0C9975L;
                }
            }
        }
        (**g_2113) = (safe_div_func_int64_t_s_s((p_38 != (safe_div_func_uint16_t_u_u(((((*g_2561) == (safe_div_func_uint16_t_u_u((*l_2657), (*l_2164)))) < (safe_sub_func_uint32_t_u_u(p_38, ((****l_2721) != (l_2851[2][6] = &l_2741))))) || (safe_rshift_func_uint16_t_u_u((((*l_2164) = (safe_div_func_int8_t_s_s((l_2856 == l_2858), (-1L)))) >= (*g_2114)), p_37))), 8UL))), p_38));
        for (g_1659.f0 = 0; (g_1659.f0 <= 1); g_1659.f0 += 1)
        { /* block id: 1195 */
            int32_t *l_2860 = &g_1050;
            int32_t *l_2861[3];
            uint32_t ** const **l_2870 = (void*)0;
            uint32_t ** const **l_2871 = &l_2869;
            struct S0 *l_2873 = &g_2874;
            int16_t **l_2915 = &l_2851[2][6];
            int32_t ***l_2922 = &g_178;
            uint16_t ***l_2961 = (void*)0;
            int i;
            for (i = 0; i < 3; i++)
                l_2861[i] = &l_2199;
            l_2863--;
            if ((safe_lshift_func_int8_t_s_u(((void*)0 == l_2868), (((((*l_2164) == (((*l_2871) = l_2869) == (g_2872 , &g_1833))) < ((((((l_2875[1][0][4] = l_2873) == (void*)0) , (safe_mul_func_int32_t_s_s(((safe_lshift_func_uint8_t_u_u(l_2882, 2)) >= 0x51L), (-2L)))) > p_37) >= 1UL) ^ (*l_2657))) , g_2883) , (*l_2164)))))
            { /* block id: 1199 */
                if ((*l_2860))
                    break;
            }
            else
            { /* block id: 1201 */
                uint16_t *l_2899 = &g_2112;
                int32_t l_2907 = 0x8379605CL;
                uint8_t **l_2910 = (void*)0;
                int16_t **l_2914 = &l_2851[2][1];
                if ((g_2884 , ((safe_rshift_func_int8_t_s_u(((((safe_lshift_func_int64_t_s_s((safe_mul_func_int32_t_s_s(((((safe_mod_func_uint8_t_u_u((p_37 & (safe_sub_func_int32_t_s_s(((safe_mul_func_int32_t_s_s((safe_mul_func_int64_t_s_s((((((((*l_2899) = p_38) | ((void*)0 != l_2900)) || ((l_2899 != l_2899) <= (safe_div_func_uint8_t_u_u((safe_div_func_int32_t_s_s((l_2750 &= (*l_2657)), p_37)), 0xCFL)))) , (void*)0) == l_2868) , l_2907), 18446744073709551607UL)), p_38)) , (*l_2860)), p_37))), p_37)) , (**g_2359)) == 0x0E29L) <= g_673.f0.f1), p_38)), p_37)) , p_38) , p_38) , 0xEFL), 0)) , 5L)))
                { /* block id: 1204 */
                    uint32_t l_2913 = 0xF2544A88L;
                    if (p_38)
                        break;
                    if (((*l_2657) >= p_37))
                    { /* block id: 1206 */
                        int16_t l_2916 = 0x832BL;
                        (**l_2832) = l_2860;
                        (**l_2832) = (**l_2832);
                        l_2862 |= (safe_rshift_func_uint16_t_u_u((((void*)0 != l_2910) > ((**l_2868) = (*l_2860))), (l_2907 != (((safe_rshift_func_int64_t_s_s((l_2913 = p_38), (((***l_2721) == (l_2915 = l_2914)) , (((**g_1439) , ((l_2916 > p_37) , &g_1504[2][0])) == (void*)0)))) , l_2907) , (*g_2561)))));
                    }
                    else
                    { /* block id: 1213 */
                        (*g_2917) = (*g_1997);
                    }
                }
                else
                { /* block id: 1216 */
                    int32_t ****l_2923 = &l_2922;
                    int32_t l_2947 = (-1L);
                    struct S0 *** const l_2951[2] = {&g_1427,&g_1427};
                    int i;
                    if (((*l_2657) = (((*g_1130) = ((((safe_lshift_func_int16_t_s_u((safe_mul_func_int32_t_s_s((l_2832 == ((*l_2923) = l_2922)), 6UL)), 7)) & ((safe_add_func_uint64_t_u_u(p_38, (safe_lshift_func_int32_t_s_u((safe_lshift_func_uint16_t_u_s(0x0AF6L, 14)), 9)))) || ((*g_483) != &p_38))) ^ (safe_add_func_int64_t_s_s(p_37, ((safe_rshift_func_int16_t_s_s(1L, 1)) < (****g_412))))) ^ p_37)) < p_37)))
                    { /* block id: 1220 */
                        const uint64_t *l_2938 = &g_1330;
                        struct S0 **l_2950 = &l_2875[1][0][4];
                        const int32_t l_2952 = 0x09D2B90FL;
                        (**l_2922) = ((safe_mod_func_uint64_t_u_u((safe_mul_func_uint8_t_u_u((((l_2907 , l_2951[1]) == &l_2950) , p_38), 0x95L)), p_37)) , &l_2200[0]);
                        l_2907 = ((***l_2832) = (*l_2657));
                        (**g_2113) = ((*g_179) ^= 0x0CC8CF31L);
                        if (l_2952)
                            break;
                    }
                    else
                    { /* block id: 1229 */
                        (*l_2860) = 0x7BCCCA7BL;
                    }
                }
                if ((*g_1848))
                    break;
            }
            for (g_1590.f0 = 0; (g_1590.f0 <= 1); g_1590.f0 += 1)
            { /* block id: 1237 */
                int32_t l_2971 = 0x39DB502AL;
                uint32_t l_2972 = 0xB5A7793DL;
                int i, j, k;
                (**l_2832) = ((safe_lshift_func_uint16_t_u_u(((safe_mul_func_uint32_t_u_u(((safe_mod_func_uint8_t_u_u((((safe_mod_func_int16_t_s_s((((((g_228[4].f0 , l_2961) == (void*)0) || ((safe_mul_func_uint16_t_u_u((safe_unary_minus_func_int32_t_s(((*l_2657) = ((safe_div_func_int32_t_s_s(((safe_div_func_uint64_t_u_u((safe_mul_func_uint64_t_u_u(((&g_1017[(g_1743.f2 + 3)][(g_1659.f0 + 1)][g_1590.f0] != (void*)0) | l_2971), p_38)), (18446744073709551610UL ^ p_37))) & p_37), 0x9EEF6E4CL)) == p_37)))), 65534UL)) , p_38)) > l_2971) , p_38), 0x4DC9L)) || (**g_2689)) | 8UL), 0x5BL)) != 65527UL), l_2972)) | p_37), p_38)) , &l_2971);
            }
            if (p_38)
                break;
        }
    }
    (*g_2973) = (*l_2823);
    return (*l_2657);
}


/* ------------------------------------------ */
/* 
 * reads : g_2136 g_413 g_414 g_415 g_22 g_1356 g_2143 g_2144 g_1907 g_555.f0 g_29
 * writes: g_482 g_2136 g_195 g_247 g_29
 */
static struct S0 ** func_40(int32_t * p_41, struct S0 * p_42, int8_t  p_43, uint32_t  p_44, int32_t * p_45)
{ /* block id: 891 */
    uint8_t ***l_2126[6];
    uint8_t ****l_2127 = (void*)0;
    uint8_t ***l_2128 = &g_483;
    uint8_t ***l_2129 = &g_483;
    uint8_t ****l_2130 = &g_482[2][1][1];
    int32_t l_2135 = 0x1BB80CF1L;
    uint16_t *l_2140[1][7] = {{(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0}};
    int32_t l_2141 = 0x8B125FFBL;
    const uint64_t l_2142 = 6UL;
    struct S0 **l_2145 = (void*)0;
    int i, j;
    for (i = 0; i < 6; i++)
        l_2126[i] = &g_483;
    (*p_41) |= (safe_div_func_int64_t_s_s((((0xA4L ^ ((((l_2135 = ((0x3B2BL & 0xD981L) < ((safe_mul_func_uint16_t_u_u((((((*g_1356) = (0xFD4C8417L & (((safe_rshift_func_uint32_t_u_s((((l_2126[5] == ((*l_2130) = (l_2129 = (l_2128 = l_2126[5])))) < p_43) || (safe_div_func_int16_t_s_s((((((l_2135 & (l_2141 = (((((***g_413) = (p_43 = ((g_2136[5][0] = g_2136[6][1]) == (void*)0))) , p_44) && g_22) >= p_44))) && l_2135) >= l_2135) , &g_1128) != &l_2126[2]), l_2135))), 26)) < l_2135) & l_2142))) > g_2143) , 1UL) & p_44), 1UL)) , 0x9D4E70A8432A34A1LL))) <= g_2144) >= g_1907) || p_43)) == l_2142) > l_2142), g_555.f0));
    return l_2145;
}


/* ------------------------------------------ */
/* 
 * reads : g_33.f0 g_12 g_22 g_95 g_23 g_29 g_34 g_35 g_98 g_114 g_24 g_102 g_33 g_21 g_145 g_49 g_27 g_129 g_162 g_178 g_179 g_363 g_555.f2 g_413 g_414 g_415 g_917 g_273 g_474.f1 g_195 g_225 g_555.f0 g_984 g_1002 g_481 g_361 g_1015 g_1018 g_881.f0.f0 g_1050 g_247 g_697 g_714 g_556.f0 g_875 g_774 g_615.f0.f0 g_1501 g_874 g_482 g_1219.f0 g_1356 g_362 g_1128 g_1129 g_1130 g_483 g_1250.f0.f2 g_1219.f1 g_243 g_1446 g_1735 g_881.f0.f2 g_1743 g_1145.f2 g_1735.f0.f2 g_1628.f0.f2 g_1790 g_1267.f0 g_1814 g_1743.f1 g_1659.f0 g_1823 g_1829 g_1831 g_1832 g_1743.f2 g_1848 g_1443 g_1767 g_1856 g_1856.f0.f2 g_673.f0.f0 g_474.f2 g_1907 g_1920 g_412 g_1355 g_881.f2 g_1935 g_1432 g_1995 g_1937 g_1997 g_1659.f1 g_1735.f0.f0 g_2053 g_1431 g_1219.f2
 * writes: g_75 g_49 g_95 g_98 g_102 g_33.f0 g_27 g_129 g_29 g_145 g_162 g_195 g_556.f0 g_178 g_361 g_697 g_362 g_225 g_881.f1 g_555.f0 g_179 g_1002 g_482 g_247 g_243 g_1050 g_345.f1 g_345.f4 g_984 g_714 g_35 g_874 g_1504 g_1219.f0 g_881.f0.f0 g_1701 g_1470.f0 g_1743.f1 g_1786 g_278.f0 g_1659.f0 g_1436 g_1831 g_1743.f2 g_1767 g_273 g_881.f2 g_1743.f0.f0 g_1998 g_1856.f2
 */
static struct S0 * func_46(uint64_t  p_47)
{ /* block id: 11 */
    int32_t *l_1830 = &g_1831;
    uint8_t * const l_1835 = (void*)0;
    int8_t l_1840[3][8][6] = {{{0xB2L,0xF1L,0xC9L,(-10L),1L,9L},{0xCBL,0xC1L,(-3L),0xC1L,0xCBL,0L},{0x9DL,0L,1L,0L,0xB2L,0x55L},{0x0CL,0xDEL,0xB2L,0L,0xA6L,0x55L},{1L,0xA8L,1L,1L,0L,0L},{0xA6L,(-1L),(-3L),0x4CL,0x1FL,9L},{(-3L),0L,0xC9L,0xDEL,0x1FL,0xDEL},{(-10L),(-1L),(-10L),(-1L),0L,0L}},{{0x61L,0xA8L,0xCBL,9L,0xA6L,(-2L)},{0x2FL,0xDEL,0L,9L,0xB2L,(-1L)},{0x61L,0L,5L,(-1L),0xCBL,0xF1L},{(-10L),0xC1L,0x61L,0xDEL,1L,(-1L)},{(-3L),0xF1L,0x61L,0x4CL,0x61L,0xF1L},{0xA6L,0x4CL,5L,1L,0x9DL,(-1L)},{1L,(-1L),0L,0L,0xC9L,(-2L)},{0x0CL,(-1L),0xCBL,0L,0x9DL,0L}},{{0x9DL,0x4CL,(-10L),0xC1L,0x61L,0xDEL},{0xCBL,0xF1L,0xC9L,(-10L),1L,9L},{0xCBL,0xC1L,(-3L),0xC1L,0xCBL,0L},{0x9DL,0L,1L,0L,0xB2L,0x55L},{0x0CL,0xDEL,0xB2L,0L,0xA6L,0x55L},{1L,0xA8L,1L,1L,0L,0L},{0xA6L,(-1L),(-3L),0x4CL,0x1FL,9L},{(-3L),0L,0xC9L,0xDEL,0x1FL,0xDEL}}};
    struct S0 *l_1849 = &g_1590;
    uint8_t **** const l_1868[9] = {&g_482[0][5][2],(void*)0,&g_482[0][5][2],(void*)0,&g_482[0][5][2],(void*)0,&g_482[0][5][2],(void*)0,&g_482[0][5][2]};
    uint32_t l_1871 = 1UL;
    struct S0 * const ****l_1930 = (void*)0;
    int32_t l_1948 = 6L;
    union U1 *l_1996 = &g_1735[3];
    const uint32_t l_2052 = 0xE8099CA8L;
    int i, j, k;
    (*l_1830) |= (func_50(g_33.f0, &g_35) , (g_1829 && 247UL));
    (*l_1830) |= (-1L);
    if ((p_47 <= (g_1832 == (void*)0)))
    { /* block id: 785 */
        uint8_t *l_1836[10] = {&g_1219.f0,&g_1219.f0,&g_1219.f0,&g_1219.f0,&g_1219.f0,&g_1219.f0,&g_1219.f0,&g_1219.f0,&g_1219.f0,&g_1219.f0};
        int32_t l_1839 = 1L;
        int8_t **l_1842 = &g_415;
        int32_t l_1845 = 1L;
        int i;
        (*l_1830) ^= (l_1835 == l_1836[2]);
        for (g_1743.f2 = 0; (g_1743.f2 <= 7); g_1743.f2 += 1)
        { /* block id: 789 */
            const uint32_t l_1841 = 0x12F6C86EL;
            int8_t **l_1843 = &g_415;
            int32_t l_1844 = 0x6A6B60A4L;
            int32_t *l_1847 = (void*)0;
            (*g_1848) &= ((safe_div_func_uint32_t_u_u(((-2L) <= (((*l_1830) & (l_1839 |= p_47)) != ((l_1835 != (p_47 , l_1836[2])) & l_1840[1][1][1]))), ((l_1844 = (((l_1841 , l_1842) == l_1843) | p_47)) , l_1845))) || p_47);
        }
        (*l_1830) = (-8L);
        (*g_1443) = l_1849;
    }
    else
    { /* block id: 796 */
        int32_t *l_1853 = &g_225;
        uint8_t ****l_1867 = &g_482[1][7][1];
        uint8_t *****l_1866 = &l_1867;
        uint32_t ***l_1883 = &g_1833;
        uint16_t * volatile * volatile l_1936 = &g_1937;/* VOLATILE GLOBAL l_1936 */
        int32_t l_1942 = 4L;
        int32_t l_1947 = 0x2361CF57L;
        int32_t *l_1961 = &g_1050;
        int32_t *l_1962 = (void*)0;
        int32_t *l_1963 = &l_1947;
        int32_t *l_1964[2][5][3] = {{{&l_1948,&l_1948,&l_1947},{&g_29,&g_225,&g_1050},{&g_29,&l_1948,&g_225},{&l_1948,&g_29,&g_225},{&g_225,&g_29,&g_225}},{{&g_225,&g_225,&g_1050},{&g_225,&g_225,&l_1947},{&g_29,&g_29,&l_1947},{&g_1831,&g_29,&g_29},{&g_29,&l_1948,&l_1947}}};
        int32_t *l_1965 = &l_1948;
        int32_t *l_1966 = &g_697;
        int32_t *l_1967[1][7];
        int32_t *l_1968 = &g_29;
        int32_t *l_1969 = &l_1948;
        int32_t *l_1970 = &l_1947;
        int32_t ** const l_1960[7][1][8] = {{{&l_1970,&l_1970,&l_1961,&l_1963,(void*)0,&l_1965,&l_1970,(void*)0}},{{&l_1962,(void*)0,&l_1966,&l_1962,&l_1964[1][2][0],&l_1962,&l_1966,(void*)0}},{{(void*)0,&l_1969,(void*)0,&l_1963,&l_1969,&l_1966,&l_1964[1][2][0],(void*)0}},{{&l_1967[0][1],&l_1964[1][2][0],(void*)0,(void*)0,(void*)0,(void*)0,&l_1964[1][2][0],&l_1967[0][1]}},{{(void*)0,(void*)0,(void*)0,&l_1966,&l_1970,(void*)0,&l_1966,&l_1963}},{{&l_1970,(void*)0,&l_1966,&l_1963,&l_1966,(void*)0,&l_1970,&l_1966}},{{&l_1967[0][1],(void*)0,&l_1961,&l_1967[0][1],&l_1964[1][2][0],(void*)0,(void*)0,(void*)0}}};
        int32_t ** const *l_1959 = &l_1960[2][0][3];
        struct S0 ***l_2014[1];
        int64_t l_2024[8] = {0xACAE5497E2F5F4F0LL,0xACAE5497E2F5F4F0LL,0xACAE5497E2F5F4F0LL,0xACAE5497E2F5F4F0LL,0xACAE5497E2F5F4F0LL,0xACAE5497E2F5F4F0LL,0xACAE5497E2F5F4F0LL,0xACAE5497E2F5F4F0LL};
        int64_t l_2063 = (-8L);
        int64_t *l_2099 = (void*)0;
        int64_t *l_2100[2];
        uint64_t *l_2101 = &g_95[0][1][7];
        uint16_t l_2102 = 0x7793L;
        const int64_t **l_2103 = (void*)0;
        const int64_t *l_2105 = &g_2106;
        const int64_t **l_2104 = &l_2105;
        int i, j, k;
        for (i = 0; i < 1; i++)
        {
            for (j = 0; j < 7; j++)
                l_1967[i][j] = (void*)0;
        }
        for (i = 0; i < 1; i++)
            l_2014[i] = &g_1430[6];
        for (i = 0; i < 2; i++)
            l_2100[i] = &g_273[3][1];
        (*l_1830) = (p_47 , (((**g_413) == (void*)0) | 0UL));
        if (g_33.f2)
            goto lbl_1865;
lbl_1865:
        for (g_1767 = (-3); (g_1767 <= (-12)); g_1767 = safe_sub_func_uint32_t_u_u(g_1767, 7))
        { /* block id: 800 */
            uint16_t l_1852 = 1UL;
            int32_t *l_1857 = &g_714[2][1];
            int32_t *l_1864 = &g_697;
            if (l_1852)
                break;
            (*g_178) = l_1853;
            (*g_179) = (safe_mod_func_int64_t_s_s((0x9DL <= (g_1856 , (l_1857 != l_1853))), (safe_sub_func_int32_t_s_s(((*l_1830) = (safe_mod_func_int8_t_s_s((p_47 && g_1856.f0.f2), p_47))), (safe_div_func_int8_t_s_s((*l_1853), (-5L)))))));
            l_1864 = l_1853;
        }
        if (((((*l_1866) = &g_482[0][5][2]) != l_1868[3]) && ((((safe_add_func_int16_t_s_s((*g_1356), (l_1871 | ((*l_1853) , p_47)))) && (safe_add_func_uint16_t_u_u((!((((0x3011BA23L & ((safe_mul_func_int8_t_s_s((safe_rshift_func_uint8_t_u_u((((safe_mul_func_uint8_t_u_u((g_29 , (safe_rshift_func_int8_t_s_u(0xFFL, 4))), (*l_1853))) > 0x23L) > (*l_1830)), 7)), p_47)) == g_673.f0.f0)) ^ (*l_1853)) || (*l_1853)) >= 8L)), (-3L)))) , (*l_1853)) & (*l_1853))))
        { /* block id: 809 */
            uint32_t l_1896 = 0x7E532361L;
            int32_t l_1924 = 0x1CCAD901L;
            struct S0 ****l_1929 = &g_874[0];
            struct S0 *****l_1928 = &l_1929;
            uint64_t l_1940[6];
            uint32_t l_2017 = 18446744073709551615UL;
            int i;
            for (i = 0; i < 6; i++)
                l_1940[i] = 0x501C88C970C24814LL;
            if (((((((p_47 , &g_1833) != l_1883) | ((0x2BL && 0xB1L) || p_47)) , (safe_lshift_func_uint16_t_u_u((((***g_413) = (0xF8L && (safe_div_func_int64_t_s_s((safe_lshift_func_uint8_t_u_s(252UL, 6)), (safe_rshift_func_int64_t_s_s((safe_div_func_int8_t_s_s(((((safe_lshift_func_uint16_t_u_s(0xFC24L, (*g_1356))) , p_47) <= p_47) | g_474.f2), 0xF2L)), 51)))))) & 0x4DL), 10))) == (-4L)) | (*g_1356)))
            { /* block id: 811 */
                uint32_t *l_1923 = &g_881.f1;
                int64_t *l_1925 = &g_273[2][1];
                int16_t *l_1926 = &g_1767;
                int32_t l_1927[2];
                int i;
                for (i = 0; i < 2; i++)
                    l_1927[i] = 0x88862172L;
                (*l_1853) = l_1896;
                l_1927[1] = (((safe_lshift_func_int16_t_s_s(((*l_1926) = ((**g_1355) = (safe_add_func_int16_t_s_s((safe_sub_func_int8_t_s_s((0x57E7605384A19F30LL ^ ((*l_1853) == ((*l_1925) = (safe_add_func_uint8_t_u_u((l_1924 = (0xB16236F2L >= ((((*l_1853) <= (safe_sub_func_uint32_t_u_u((((*l_1830) = p_47) || (g_1907 <= g_1250.f0.f2)), (((*l_1923) = (safe_lshift_func_int16_t_s_s((safe_add_func_int64_t_s_s((safe_sub_func_uint64_t_u_u((safe_add_func_uint16_t_u_u(((safe_mod_func_uint64_t_u_u(((safe_add_func_uint64_t_u_u((g_1920 , (((safe_rshift_func_uint8_t_u_u(0x6AL, p_47)) | (*l_1853)) & p_47)), g_1856.f0.f2)) != (*l_1853)), p_47)) || (****g_412)), 65535UL)), p_47)), (-6L))), l_1896))) || 0UL)))) | (*l_1853)) >= 0xE4C06546L))), p_47))))), (-9L))), 65535UL)))), 14)) , p_47) , (-8L));
            }
            else
            { /* block id: 820 */
                struct S0 *l_1938[3];
                int32_t l_1949 = 0x325B9DA5L;
                int32_t *l_2022 = &g_29;
                int i;
                for (i = 0; i < 3; i++)
                    l_1938[i] = &g_1939;
                (*l_1853) = (l_1928 != l_1930);
                for (g_881.f2 = 0; (g_881.f2 >= 6); ++g_881.f2)
                { /* block id: 824 */
                    uint8_t l_1950 = 0x79L;
                    for (g_345.f1 = (-7); (g_345.f1 != 38); g_345.f1 = safe_add_func_uint32_t_u_u(g_345.f1, 9))
                    { /* block id: 827 */
                        (*g_178) = l_1853;
                        l_1936 = g_1935;
                        l_1938[2] = (*g_34);
                    }
                    for (g_1743.f0.f0 = 0; (g_1743.f0.f0 <= 6); g_1743.f0.f0 += 1)
                    { /* block id: 834 */
                        int32_t *l_1941 = &l_1924;
                        int32_t *l_1943 = &g_1831;
                        int32_t *l_1944 = &l_1924;
                        int32_t *l_1945 = &g_29;
                        int32_t *l_1946[2][1][8] = {{{&g_697,(void*)0,&l_1942,&l_1942,(void*)0,&g_697,(void*)0,&g_697}},{{(void*)0,&g_697,(void*)0,&g_697,(void*)0,&l_1942,&l_1942,(void*)0}}};
                        int32_t ** const *l_1957 = (void*)0;
                        int32_t ** const **l_1958[10] = {&l_1957,&l_1957,&l_1957,&l_1957,&l_1957,&l_1957,&l_1957,&l_1957,&l_1957,&l_1957};
                        int i, j, k;
                        if (l_1940[2])
                            break;
                        l_1950++;
                        (*g_1997) = (((safe_lshift_func_int32_t_s_u((p_47 >= ((*l_1963) = ((((l_1959 = l_1957) == &g_178) && ((safe_div_func_uint8_t_u_u((safe_div_func_int16_t_s_s((safe_mul_func_int32_t_s_s(((*l_1969) |= (((*l_1830) = (((safe_add_func_uint8_t_u_u((safe_add_func_int32_t_s_s(((void*)0 == (*g_1432)), (safe_rshift_func_int8_t_s_u(((***g_413) = (safe_rshift_func_int16_t_s_u(((+(safe_unary_minus_func_int32_t_s((safe_lshift_func_uint64_t_u_u(((safe_lshift_func_uint64_t_u_u(((safe_rshift_func_int32_t_s_u((safe_add_func_int16_t_s_s((*l_1941), p_47)), 9)) < 1L), p_47)) | 1L), 44))))) , l_1950), 11))), p_47)))), l_1950)) || (*l_1830)) , g_1995)) == 0x28L)), p_47)), (*g_1937))), 1UL)) ^ 0xDB3AL)) < l_1950))), p_47)) , p_47) , l_1996);
                    }
                    for (g_1856.f2 = (-15); (g_1856.f2 != 49); g_1856.f2 = safe_add_func_uint16_t_u_u(g_1856.f2, 4))
                    { /* block id: 846 */
                        union U1 **l_2001[3];
                        int32_t l_2008 = 0x622CFED2L;
                        int32_t l_2009 = 0xB08D356AL;
                        uint32_t *l_2010 = &g_615[0][1][0].f1;
                        uint32_t *l_2011 = &l_1896;
                        int64_t *l_2018 = &g_361[6];
                        int i;
                        for (i = 0; i < 3; i++)
                            l_2001[i] = (void*)0;
                        (*g_1997) = (void*)0;
                        (*l_1963) ^= ((l_1950 | (((safe_sub_func_uint64_t_u_u((((((safe_mul_func_int64_t_s_s((safe_mul_func_int16_t_s_s(l_1950, l_1949)), ((((l_2008 | ((--(*l_2011)) , (l_2014[0] == (*g_1501)))) & (safe_mul_func_uint32_t_u_u(l_1950, (((*l_2018) = l_2017) , (safe_mul_func_uint32_t_u_u(0xFD678C5FL, l_1949)))))) < 65535UL) , l_1924))) == 0xA4E26DCF810C6302LL) != (*l_1830)) , (*l_1830)) | p_47), p_47)) != p_47) && (*l_1830))) == p_47);
                        (*l_1970) = ((void*)0 != &l_1840[1][2][4]);
                        (*l_1830) = ((*l_1853) = (9UL || ((*l_1961) = (p_47 & (((l_2008 &= (l_2009 = (p_47 != (~(-1L))))) , (void*)0) == (void*)0)))));
                    }
                    l_2022 = (*g_178);
                }
            }
            (*g_178) = &l_1924;
        }
        else
        { /* block id: 862 */
            int8_t l_2023 = 1L;
            int32_t *l_2028[7][9] = {{(void*)0,(void*)0,&g_225,&g_1831,(void*)0,(void*)0,&g_1831,&g_1831,(void*)0},{&g_697,&g_24,&l_1947,&g_24,&g_697,&l_1948,&g_697,&g_24,&l_1947},{(void*)0,&g_1831,&g_225,(void*)0,(void*)0,&g_225,&g_1831,(void*)0,(void*)0},{&g_1050,&g_24,&l_1942,&g_24,&g_1050,&l_1948,&g_1050,&g_24,&l_1942},{(void*)0,(void*)0,&g_225,&g_1831,(void*)0,(void*)0,&g_1831,&g_1831,(void*)0},{&g_697,&g_24,&l_1947,&g_24,&g_697,&l_1948,&g_697,&g_24,&l_1947},{(void*)0,&g_1831,&g_225,(void*)0,(void*)0,&g_225,&g_1831,(void*)0,(void*)0}};
            int32_t l_2062[3];
            int i, j;
            for (i = 0; i < 3; i++)
                l_2062[i] = 0xD3EBAA7FL;
            (*l_1966) = l_2023;
            if ((l_2024[7] > (safe_mul_func_int16_t_s_s(((*g_1356) ^= (~(&l_1868[3] != &g_481))), 0xB976L))))
            { /* block id: 865 */
                int32_t * const l_2029 = (void*)0;
                int32_t **l_2030 = &l_1965;
                int64_t *l_2043 = (void*)0;
                int64_t *l_2044 = &g_361[1];
                struct S0 **l_2051 = &g_35;
                l_2028[1][3] = &l_1948;
                (*l_2030) = l_2029;
                (*l_1966) |= ((safe_add_func_int64_t_s_s(((safe_mul_func_int16_t_s_s((((safe_rshift_func_int32_t_s_u((safe_mod_func_int32_t_s_s((((*l_2044) = ((safe_add_func_uint8_t_u_u(p_47, (p_47 >= (0x26L < (****g_412))))) | ((safe_div_func_uint8_t_u_u(8UL, p_47)) , p_47))) > (safe_lshift_func_uint64_t_u_u((safe_lshift_func_uint64_t_u_u(0x03C0FD09B7ACBFA5LL, (((safe_rshift_func_uint16_t_u_u(((l_2051 = &l_1849) != &l_1849), (*l_1830))) | 0UL) , g_102))), 10))), l_2052)), (*l_1830))) && g_1659.f1) & 0x4A2E4190L), 0x2EBCL)) , g_1735[3].f0.f0), 0xFF2132DB32D01748LL)) & (*l_1830));
                (*l_2030) = l_2028[1][6];
            }
            else
            { /* block id: 872 */
                int64_t *l_2054 = &g_273[2][1];
                int32_t l_2055 = (-9L);
                struct S0 *l_2064[10][8][3] = {{{&g_278,(void*)0,(void*)0},{&g_1856.f0,&g_1470,&g_1470},{&g_1590,&g_556,&g_278},{(void*)0,&g_1219,(void*)0},{&g_1735[3].f0,&g_278,&g_1145},{&g_1735[3].f0,(void*)0,&g_556},{&g_1939,(void*)0,(void*)0},{&g_1735[3].f0,&g_1856.f0,&g_1856.f0}},{{&g_33,&g_1219,&g_1145},{&g_33,&g_1590,&g_1939},{&g_1856.f0,&g_1856.f0,&g_2053.f0},{&g_1735[3].f0,&g_1590,&g_615[0][1][0].f0},{&g_2053.f0,&g_555,&g_555},{(void*)0,&g_556,&g_2053.f0},{(void*)0,&g_1145,&g_1735[3].f0},{&g_33,&g_555,&g_1470}},{{&g_615[0][1][0].f0,&g_1145,&g_1590},{&g_1939,(void*)0,(void*)0},{&g_615[0][1][0].f0,(void*)0,&g_1145},{&g_1939,&g_1735[3].f0,&g_556},{&g_555,&g_1856.f0,&g_615[0][1][0].f0},{&g_278,&g_1856.f0,&g_1856.f0},{&g_1735[3].f0,&g_555,&g_278},{&g_2053.f0,&g_556,&g_555}},{{(void*)0,&g_1470,(void*)0},{&g_1590,(void*)0,&g_1219},{&g_33,(void*)0,&g_1590},{&g_1856.f0,&g_1219,&g_1735[3].f0},{&g_278,&g_1939,&g_1735[3].f0},{&g_278,&g_555,&g_1659},{&g_555,&g_615[0][1][0].f0,&g_1659},{&g_1735[3].f0,&g_2053.f0,&g_1735[3].f0}},{{&g_615[0][1][0].f0,&g_555,&g_1735[3].f0},{&g_556,&g_1735[3].f0,&g_1590},{&g_1939,&g_1856.f0,&g_1219},{(void*)0,&g_615[0][1][0].f0,(void*)0},{(void*)0,&g_1735[3].f0,&g_555},{&g_555,&g_278,&g_278},{(void*)0,&g_1659,&g_1856.f0},{&g_1219,&g_555,&g_615[0][1][0].f0}},{{&g_33,&g_1735[3].f0,&g_556},{(void*)0,&g_556,&g_1145},{&g_1659,&g_1145,(void*)0},{&g_1939,(void*)0,&g_1590},{&g_555,&g_278,&g_1470},{(void*)0,(void*)0,&g_1735[3].f0},{&g_2053.f0,(void*)0,&g_2053.f0},{&g_1939,&g_33,&g_555}},{{&g_1735[3].f0,&g_1145,&g_615[0][1][0].f0},{&g_1856.f0,&g_2053.f0,(void*)0},{&g_1470,&g_1735[3].f0,&g_1590},{&g_1856.f0,&g_278,&g_1590},{&g_1735[3].f0,(void*)0,(void*)0},{&g_1939,(void*)0,&g_1145},{&g_2053.f0,&g_1470,(void*)0},{(void*)0,&g_1856.f0,&g_1856.f0}},{{&g_555,&g_2053.f0,&g_1145},{&g_1939,&g_1735[3].f0,&g_555},{&g_1659,&g_615[0][1][0].f0,&g_278},{(void*)0,&g_2053.f0,(void*)0},{&g_33,&g_555,&g_615[0][1][0].f0},{&g_1219,(void*)0,&g_556},{(void*)0,&g_1939,&g_615[0][1][0].f0},{&g_555,&g_1145,&g_555}},{{(void*)0,&g_33,&g_1659},{(void*)0,&g_556,&g_1470},{&g_1939,&g_278,(void*)0},{&g_556,&g_1145,&g_615[0][1][0].f0},{&g_615[0][1][0].f0,&g_1470,&g_555},{&g_1735[3].f0,&g_615[0][1][0].f0,&g_1145},{&g_555,&g_615[0][1][0].f0,&g_556},{&g_278,&g_1470,&g_278}},{{&g_278,&g_1145,&g_278},{&g_1856.f0,&g_278,&g_1145},{&g_33,&g_556,&g_1145},{&g_1590,&g_33,&g_615[0][1][0].f0},{&g_615[0][1][0].f0,&g_1659,&g_1470},{&g_33,&g_2053.f0,&g_1219},{&g_1659,&g_1856.f0,&g_1939},{&g_1470,&g_1735[3].f0,&g_555}}};
                int i, j, k;
                if (((g_2053 , ((((*l_2054) = (-1L)) >= 0x332B96E4C4105789LL) & 18446744073709551607UL)) , ((((l_2055 ^ ((safe_lshift_func_uint32_t_u_s((((((1UL == (((safe_mod_func_int64_t_s_s((safe_add_func_uint64_t_u_u(0x5BB5D509BCD6943DLL, (*l_1963))), p_47)) ^ 0x24AB04F2L) == 0x15597E0E2B5BC0A4LL)) != p_47) | l_2055) <= l_2062[0]) < 0xCFE7027BF918DEC1LL), 18)) >= l_2063)) , p_47) >= l_2055) > l_2055)))
                { /* block id: 874 */
                    (*l_1853) ^= ((*l_1970) = (-6L));
                }
                else
                { /* block id: 877 */
                    return l_2064[7][7][0];
                }
            }
        }
        (*l_1830) = ((safe_mul_func_int64_t_s_s((p_47 && (safe_div_func_int32_t_s_s((0x18B9L && (((safe_div_func_int8_t_s_s(((safe_add_func_int16_t_s_s(((((*l_2104) = ((((safe_mod_func_int8_t_s_s((safe_mul_func_uint16_t_u_u((((((*l_2101) &= (1UL >= ((((safe_lshift_func_int64_t_s_s(((!(safe_rshift_func_int8_t_s_u((safe_rshift_func_uint32_t_u_u((safe_div_func_uint16_t_u_u(65535UL, (safe_mul_func_uint64_t_u_u(((*l_1830) | (~(((**g_1431) , (**l_1866)) != (void*)0))), (*l_1830))))), 23)), 5))) , (*l_1830)), (*l_1830))) >= 0x17D8L) || (*l_1830)) , 0L))) < p_47) , (*l_1830)) , (*l_1830)), 0x34E3L)), (*l_1830))) >= l_2102) ^ (-1L)) , &l_2063)) == (void*)0) | (*l_1966)), g_1219.f2)) | p_47), 0x8DL)) > p_47) < p_47)), p_47))), 0x46C00DCF237310A5LL)) , (-2L));
    }
    return l_1849;
}


/* ------------------------------------------ */
/* 
 * reads : g_12 g_22 g_95 g_23 g_29 g_34 g_35 g_98 g_114 g_24 g_102 g_33.f0 g_33 g_21 g_145 g_49 g_27 g_129 g_162 g_178 g_179 g_363 g_555.f2 g_413 g_414 g_415 g_917 g_273 g_474.f1 g_195 g_225 g_555.f0 g_984 g_1002 g_481 g_361 g_1015 g_1018 g_881.f0.f0 g_1050 g_247 g_697 g_714 g_556.f0 g_875 g_774 g_615.f0.f0 g_1501 g_874 g_482 g_1356 g_362 g_1128 g_1129 g_1130 g_483 g_1250.f0.f2 g_1219.f1 g_243 g_1446 g_1735 g_881.f0.f2 g_1743 g_1145.f2 g_1735.f0.f2 g_1628.f0.f2 g_1790 g_1267.f0 g_1814 g_1743.f1 g_1659.f0 g_1823 g_1219.f0
 * writes: g_75 g_49 g_95 g_98 g_102 g_33.f0 g_27 g_129 g_29 g_145 g_162 g_195 g_556.f0 g_178 g_361 g_697 g_362 g_225 g_881.f1 g_555.f0 g_179 g_1002 g_482 g_247 g_243 g_1050 g_345.f1 g_345.f4 g_984 g_714 g_35 g_874 g_1504 g_1219.f0 g_881.f0.f0 g_1701 g_1470.f0 g_1743.f1 g_1786 g_278.f0 g_1659.f0 g_1436
 */
static struct S0  func_50(int8_t  p_51, struct S0 ** p_52)
{ /* block id: 12 */
    const uint64_t *l_60[7] = {(void*)0,(void*)0,&g_49,(void*)0,(void*)0,&g_49,(void*)0};
    int32_t l_99 = 0xB9CA4895L;
    int32_t l_100[5];
    struct S0 **l_815 = &g_35;
    uint16_t l_1553 = 65533UL;
    struct S0 ****l_1579 = &g_874[0];
    uint8_t ***l_1604 = &g_483;
    int64_t l_1611[5][6][7] = {{{0xD76AD3C3CAD1C49CLL,0xFA1A843AD2C2996ALL,0xB4A9A8BF404033DALL,0xD76AD3C3CAD1C49CLL,0xFC4202C8A55343AELL,0xFC4202C8A55343AELL,0xD76AD3C3CAD1C49CLL},{0xB4A9A8BF404033DALL,(-9L),0xB4A9A8BF404033DALL,0xFC4202C8A55343AELL,(-9L),0xFA1A843AD2C2996ALL,0xFA1A843AD2C2996ALL},{(-9L),0xD76AD3C3CAD1C49CLL,0xC0DC801B2B10EAF1LL,0xD76AD3C3CAD1C49CLL,(-9L),0xC0DC801B2B10EAF1LL,(-1L)},{(-1L),0xFA1A843AD2C2996ALL,0xFC4202C8A55343AELL,(-1L),0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL,(-1L)},{0xB4A9A8BF404033DALL,(-1L),0xFA1A843AD2C2996ALL,0xFC4202C8A55343AELL,(-1L),0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL},{(-1L),(-1L),0xC0DC801B2B10EAF1LL,(-9L),0xD76AD3C3CAD1C49CLL,0xC0DC801B2B10EAF1LL,0xD76AD3C3CAD1C49CLL}},{{(-9L),0xFA1A843AD2C2996ALL,0xFA1A843AD2C2996ALL,(-9L),0xFC4202C8A55343AELL,0xB4A9A8BF404033DALL,(-9L)},{0xB4A9A8BF404033DALL,0xD76AD3C3CAD1C49CLL,0xFC4202C8A55343AELL,0xFC4202C8A55343AELL,0xD76AD3C3CAD1C49CLL,0xB4A9A8BF404033DALL,0xFA1A843AD2C2996ALL},{0xD76AD3C3CAD1C49CLL,(-9L),0xC0DC801B2B10EAF1LL,(-1L),(-1L),0xC0DC801B2B10EAF1LL,(-9L)},{0xD76AD3C3CAD1C49CLL,0xFA1A843AD2C2996ALL,0xB4A9A8BF404033DALL,0xD76AD3C3CAD1C49CLL,0xFC4202C8A55343AELL,0xFC4202C8A55343AELL,0xD76AD3C3CAD1C49CLL},{0xB4A9A8BF404033DALL,(-9L),0xB4A9A8BF404033DALL,0xFC4202C8A55343AELL,(-9L),0xFA1A843AD2C2996ALL,0xFA1A843AD2C2996ALL},{(-9L),0xD76AD3C3CAD1C49CLL,0xC0DC801B2B10EAF1LL,0xD76AD3C3CAD1C49CLL,(-9L),0xC0DC801B2B10EAF1LL,(-1L)}},{{(-1L),0xFA1A843AD2C2996ALL,0xFC4202C8A55343AELL,(-1L),0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL,(-1L)},{0xB4A9A8BF404033DALL,(-1L),0xFA1A843AD2C2996ALL,0xFC4202C8A55343AELL,(-1L),0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL},{(-1L),(-1L),0xC0DC801B2B10EAF1LL,(-9L),0xD76AD3C3CAD1C49CLL,0xC0DC801B2B10EAF1LL,0xD76AD3C3CAD1C49CLL},{(-9L),0xFA1A843AD2C2996ALL,0xFA1A843AD2C2996ALL,(-9L),0xFC4202C8A55343AELL,0xB4A9A8BF404033DALL,(-9L)},{0xB4A9A8BF404033DALL,0xD76AD3C3CAD1C49CLL,0xFC4202C8A55343AELL,0xFC4202C8A55343AELL,0xD76AD3C3CAD1C49CLL,0xB4A9A8BF404033DALL,0xFA1A843AD2C2996ALL},{0xD76AD3C3CAD1C49CLL,(-9L),0xC0DC801B2B10EAF1LL,(-1L),(-1L),0xC0DC801B2B10EAF1LL,(-9L)}},{{0xD76AD3C3CAD1C49CLL,0xFA1A843AD2C2996ALL,0xB4A9A8BF404033DALL,0xD76AD3C3CAD1C49CLL,0xFC4202C8A55343AELL,0xFC4202C8A55343AELL,0xD76AD3C3CAD1C49CLL},{0xB4A9A8BF404033DALL,(-9L),0xB4A9A8BF404033DALL,0xFC4202C8A55343AELL,(-9L),0xFA1A843AD2C2996ALL,0xFA1A843AD2C2996ALL},{(-9L),0xD76AD3C3CAD1C49CLL,0xC0DC801B2B10EAF1LL,0xD76AD3C3CAD1C49CLL,(-9L),0xC0DC801B2B10EAF1LL,(-1L)},{(-1L),0xFA1A843AD2C2996ALL,0xFC4202C8A55343AELL,(-1L),0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL,(-1L)},{0xB4A9A8BF404033DALL,(-1L),0xFA1A843AD2C2996ALL,0xFC4202C8A55343AELL,(-1L),0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL},{(-1L),(-1L),0xC0DC801B2B10EAF1LL,(-9L),0xD76AD3C3CAD1C49CLL,0xC0DC801B2B10EAF1LL,0xD76AD3C3CAD1C49CLL}},{{(-9L),0xFA1A843AD2C2996ALL,0xC0DC801B2B10EAF1LL,0xFA1A843AD2C2996ALL,(-9L),0xC7D2E17053007C7DLL,0xFA1A843AD2C2996ALL},{0xC7D2E17053007C7DLL,0xFC4202C8A55343AELL,(-9L),(-9L),0xFC4202C8A55343AELL,0xC7D2E17053007C7DLL,0xC0DC801B2B10EAF1LL},{0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL,(-1L),0xB4A9A8BF404033DALL,0xB4A9A8BF404033DALL,(-1L),0xFA1A843AD2C2996ALL},{0xFC4202C8A55343AELL,0xC0DC801B2B10EAF1LL,0xC7D2E17053007C7DLL,0xFC4202C8A55343AELL,(-9L),(-9L),0xFC4202C8A55343AELL},{0xC7D2E17053007C7DLL,0xFA1A843AD2C2996ALL,0xC7D2E17053007C7DLL,(-9L),0xFA1A843AD2C2996ALL,0xC0DC801B2B10EAF1LL,0xC0DC801B2B10EAF1LL},{0xFA1A843AD2C2996ALL,0xFC4202C8A55343AELL,(-1L),0xFC4202C8A55343AELL,0xFA1A843AD2C2996ALL,(-1L),0xB4A9A8BF404033DALL}}};
    uint32_t l_1642 = 18446744073709551615UL;
    int16_t *l_1653 = &g_362[2][2][1];
    int16_t l_1736 = 2L;
    int32_t l_1819 = 0xE3C041A6L;
    int i, j, k;
    for (i = 0; i < 5; i++)
        l_100[i] = 0x02B94DD0L;
lbl_1828:
    for (p_51 = 0; (p_51 < (-12)); --p_51)
    { /* block id: 15 */
        int8_t l_71[7][5][5] = {{{9L,0L,0xE3L,2L,(-1L)},{0x11L,0x8CL,(-8L),0x16L,0x46L},{1L,0x11L,(-5L),0xBBL,0L},{0x2AL,1L,0x46L,1L,0x2AL},{0x9EL,0x84L,0xCAL,(-1L),0x34L}},{{0xCAL,0xE0L,0x16L,0x25L,3L},{0xFEL,(-5L),1L,0x84L,0x34L},{1L,0x25L,0x91L,0L,0x2AL},{0x34L,0x8CL,0x63L,0x46L,0L},{(-5L),(-1L),0x81L,0x23L,0x46L}},{{(-1L),1L,0x46L,0x80L,(-1L)},{0x81L,0xF1L,0x7DL,7L,0x30L},{0x11L,0x34L,1L,0x25L,(-1L)},{(-1L),0x9EL,(-5L),0L,(-1L)},{(-1L),(-1L),0x23L,0xE3L,0x2AL}},{{0x11L,0xC2L,0x67L,0L,1L},{0x81L,0xE0L,0x9EL,0x63L,0xB0L},{(-1L),1L,0xD4L,0x84L,1L},{(-5L),(-1L),6L,0L,6L},{0x34L,0x34L,0x16L,(-1L),2L}},{{1L,0L,0x81L,0xFEL,0L},{0xFEL,0x7BL,0x23L,0L,(-1L)},{0xCAL,0L,0xE3L,0xB0L,0L},{0x9EL,0x34L,0x8CL,0x63L,0x46L},{0x2AL,(-1L),0xCEL,0L,0L}},{{1L,1L,0L,(-1L),6L},{0x11L,0xE0L,0L,(-1L),0xEAL},{9L,0xC2L,0x9EL,(-1L),0xE0L},{0xFEL,(-1L),0x91L,2L,1L},{0x7DL,0x9EL,0x91L,0L,0xD4L}},{{0x8CL,(-3L),1L,0xB0L,6L},{(-1L),1L,0L,0xC2L,2L},{7L,0x6BL,3L,0xE3L,2L},{(-1L),0xAFL,(-10L),0x63L,0xF1L},{0x8CL,0L,0L,0x8CL,3L}}};
        int64_t *l_74[3][1];
        int32_t l_78 = (-1L);
        const uint16_t l_92 = 1UL;
        uint64_t *l_93 = &g_49;
        uint64_t *l_94 = &g_95[0][1][7];
        int8_t *l_96 = (void*)0;
        int8_t *l_97[8][4] = {{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,&g_98,(void*)0}};
        uint64_t *l_101 = &g_102;
        struct S0 ****l_1503 = &g_874[1];
        int i, j, k;
        for (i = 0; i < 3; i++)
        {
            for (j = 0; j < 1; j++)
                l_74[i][j] = &g_75;
        }
        (*l_1503) = func_55(l_60[6], func_61((+((safe_add_func_uint8_t_u_u((((((l_71[3][4][1] &= (safe_rshift_func_uint64_t_u_s((safe_div_func_uint64_t_u_u(g_12[2], p_51)), 26))) | (safe_mod_func_uint32_t_u_u(((g_75 = g_12[3]) == (safe_add_func_uint32_t_u_u(l_78, (((*l_101) = (safe_add_func_int8_t_s_s((g_98 = (l_99 = (safe_rshift_func_int32_t_s_s((!(safe_lshift_func_uint64_t_u_u(((*l_94) |= ((*l_93) = ((safe_mul_func_uint64_t_u_u((safe_add_func_int8_t_s_s(0L, (safe_add_func_int16_t_s_s((4UL >= (g_22 , 2L)), l_92)))), p_51)) ^ p_51))), 28))), p_51)))), l_100[0]))) >= p_51)))), 4294967295UL))) <= l_78) , g_23) | g_29), p_51)) , 0x955184556A32945ALL)), p_51), l_92, l_815);
        g_1504[2][0] = &g_751;
        return (**p_52);
    }
    for (g_195 = 0; (g_195 < 23); ++g_195)
    { /* block id: 619 */
        uint8_t l_1510[3][4] = {{5UL,249UL,5UL,249UL},{5UL,249UL,5UL,249UL},{5UL,249UL,5UL,249UL}};
        uint8_t **l_1511 = &g_162;
        uint32_t *l_1515 = &g_1002;
        uint32_t **l_1514 = &l_1515;
        uint64_t l_1516 = 0UL;
        int8_t *l_1534[7][4] = {{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,(void*)0,&g_98},{&g_195,(void*)0,&g_98,(void*)0},{(void*)0,(void*)0,&g_98,&g_98},{&g_195,&g_195,(void*)0,&g_98},{&g_98,(void*)0,&g_98,(void*)0},{&g_98,(void*)0,(void*)0,&g_98}};
        int8_t * const l_1559 = (void*)0;
        struct S0 ****l_1580 = &g_874[3];
        uint8_t ***l_1603[9][3][6] = {{{(void*)0,&l_1511,&l_1511,&l_1511,&l_1511,&l_1511},{&g_483,&g_483,(void*)0,&l_1511,&g_483,&g_483},{&l_1511,&l_1511,(void*)0,(void*)0,&g_483,(void*)0}},{{&l_1511,&l_1511,(void*)0,&g_483,&g_483,&g_483},{&l_1511,&g_483,(void*)0,&g_483,(void*)0,&l_1511},{&g_483,(void*)0,&l_1511,&g_483,&l_1511,&g_483}},{{&g_483,&l_1511,&l_1511,&g_483,&l_1511,&l_1511},{&l_1511,&l_1511,&g_483,&g_483,&g_483,&l_1511},{&l_1511,&g_483,(void*)0,&g_483,&g_483,&l_1511}},{{&l_1511,&g_483,&g_483,&g_483,&g_483,&g_483},{&l_1511,&g_483,&l_1511,(void*)0,&g_483,&l_1511},{&l_1511,&g_483,(void*)0,(void*)0,&g_483,&g_483}},{{(void*)0,&l_1511,&l_1511,&g_483,&l_1511,&g_483},{&l_1511,&l_1511,&g_483,(void*)0,&l_1511,(void*)0},{&g_483,(void*)0,&l_1511,&l_1511,(void*)0,&g_483}},{{(void*)0,&g_483,&l_1511,&l_1511,&g_483,&g_483},{&l_1511,&g_483,&l_1511,(void*)0,&l_1511,&l_1511},{&l_1511,&l_1511,(void*)0,&l_1511,(void*)0,&g_483}},{{&g_483,(void*)0,&g_483,(void*)0,&l_1511,&g_483},{(void*)0,&g_483,&g_483,&l_1511,&l_1511,&l_1511},{&g_483,&l_1511,&g_483,&l_1511,&l_1511,(void*)0}},{{&g_483,&g_483,&l_1511,&g_483,&g_483,&g_483},{&l_1511,&g_483,(void*)0,&l_1511,&l_1511,&g_483},{&l_1511,(void*)0,&g_483,&g_483,&g_483,&g_483}},{{&g_483,&g_483,(void*)0,(void*)0,&l_1511,&g_483},{&g_483,&l_1511,&l_1511,&l_1511,&g_483,(void*)0},{&g_483,&l_1511,&g_483,(void*)0,&l_1511,&l_1511}}};
        int8_t l_1630 = (-5L);
        int32_t l_1641 = 0x8D556ABAL;
        int32_t l_1685 = 0x28B21DD2L;
        int32_t l_1686 = 0x5A8EED43L;
        int32_t l_1689 = 3L;
        int32_t l_1690 = 0xE6B8BB3BL;
        int32_t l_1692 = 0xB6FD9D64L;
        int32_t l_1693[10][1] = {{1L},{0L},{0L},{1L},{0L},{0L},{1L},{0L},{0L},{1L}};
        int32_t ***l_1702 = &g_178;
        struct S0 *** const **l_1777 = &g_1417[3];
        int8_t * const ****l_1783 = (void*)0;
        int64_t l_1794[1][5];
        int i, j, k;
        for (i = 0; i < 1; i++)
        {
            for (j = 0; j < 5; j++)
                l_1794[i][j] = 5L;
        }
        if ((!((((safe_mod_func_uint32_t_u_u(((((p_51 || (l_1510[1][1] != ((((l_100[0] > (l_1511 != l_1511)) < ((safe_lshift_func_uint8_t_u_s(249UL, 2)) & (l_1514 == ((((-10L) & 2L) >= l_1516) , (void*)0)))) , 0x1DDDL) & 0xFC8FL))) > l_100[0]) , &l_1511) == (*g_481)), (*g_179))) || g_273[2][1]) | l_99) == l_100[2])))
        { /* block id: 620 */
            int32_t *l_1517[5];
            int i;
            for (i = 0; i < 5; i++)
                l_1517[i] = &l_100[0];
            l_100[1] |= ((**g_178) = (*g_179));
        }
        else
        { /* block id: 623 */
            return (**p_52);
        }
        if (p_51)
            break;
        for (g_1219.f0 = 14; (g_1219.f0 > 23); g_1219.f0 = safe_add_func_int32_t_s_s(g_1219.f0, 9))
        { /* block id: 629 */
            int16_t *l_1526 = &g_362[2][4][4];
            int32_t *l_1527 = &g_1050;
            int32_t *l_1529 = &l_100[0];
            int8_t *l_1535[4];
            uint8_t ****l_1546 = (void*)0;
            uint32_t l_1552 = 0x997F1F0DL;
            uint32_t l_1557 = 0UL;
            struct S0 ** const l_1566 = (void*)0;
            struct S0 ****l_1569[7] = {&g_874[1],&g_874[1],&g_874[1],&g_874[1],&g_874[1],&g_874[1],&g_874[1]};
            struct S0 *****l_1568 = &l_1569[6];
            int32_t l_1643 = 0xA8FF9776L;
            int32_t l_1679 = 1L;
            int32_t l_1682 = 0xCAF96202L;
            int32_t l_1683 = (-1L);
            int32_t l_1684 = (-2L);
            int32_t l_1687 = 0xE80DCE5EL;
            int32_t l_1688 = 0xD9623647L;
            int32_t l_1691 = 5L;
            int32_t l_1694 = 2L;
            int i;
            for (i = 0; i < 4; i++)
                l_1535[i] = &g_195;
            (*l_1529) = ((*l_1527) = (safe_div_func_int8_t_s_s(p_51, ((***g_1128) &= ((safe_rshift_func_int64_t_s_s(g_23, ((l_99 = 5L) , (safe_lshift_func_int32_t_s_s(((*g_179) = l_100[3]), 7))))) ^ ((*l_1526) ^= (*g_1356)))))));
            (*g_1018) = (safe_mod_func_uint32_t_u_u((((((p_51 , ((**g_483) = (*g_1130))) && p_51) <= (safe_add_func_int16_t_s_s((g_1250.f0.f2 <= (l_1534[4][0] != l_1535[2])), ((*l_1526) = p_51)))) , 0L) , g_1219.f1), l_100[0]));
            (*g_179) ^= (*l_1529);
            for (g_697 = (-12); (g_697 < 21); g_697 = safe_add_func_uint16_t_u_u(g_697, 6))
            { /* block id: 642 */
                uint16_t l_1551 = 1UL;
                int32_t l_1554[9][3] = {{(-10L),0x8AD47DC5L,0x8AD47DC5L},{3L,0x43B2EBDFL,0x43B2EBDFL},{(-10L),0x8AD47DC5L,0x8AD47DC5L},{3L,0x43B2EBDFL,0x43B2EBDFL},{(-10L),0x8AD47DC5L,0x8AD47DC5L},{3L,0x43B2EBDFL,0x43B2EBDFL},{(-10L),0x8AD47DC5L,0x8AD47DC5L},{3L,0x43B2EBDFL,0x43B2EBDFL},{(-10L),0x8AD47DC5L,0x8AD47DC5L}};
                uint64_t *l_1578 = &g_102;
                struct S0 * const *l_1583 = &g_35;
                struct S0 * const **l_1582 = &l_1583;
                struct S0 * const ***l_1581 = &l_1582;
                uint8_t * const *l_1616 = &g_1130;
                uint16_t *l_1640[10];
                int64_t l_1644 = 0xB695BBB91BD1E998LL;
                int32_t l_1647 = 6L;
                uint64_t l_1665 = 1UL;
                int i, j;
                for (i = 0; i < 10; i++)
                    l_1640[i] = &l_1553;
            }
        }
        for (g_555.f0 = (-2); (g_555.f0 < 25); g_555.f0 = safe_add_func_int64_t_s_s(g_555.f0, 5))
        { /* block id: 717 */
            int32_t ***l_1700[3][2][10] = {{{(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,&g_178,(void*)0,(void*)0,&g_178,(void*)0,(void*)0,&g_178,(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,&g_178,(void*)0,(void*)0,&g_178,(void*)0,(void*)0,&g_178,(void*)0}}};
            uint16_t *l_1709 = &g_243;
            struct S0 *** const **l_1778 = (void*)0;
            int i, j, k;
            if ((((g_1701[1] = l_1700[1][1][5]) != l_1702) ^ (7L >= (((safe_sub_func_uint16_t_u_u(l_1611[1][1][3], ((safe_div_func_uint16_t_u_u((safe_sub_func_uint32_t_u_u(l_100[0], 0UL)), ((*l_1709)++))) ^ ((***l_1702) == ((*g_1356) = (safe_lshift_func_int8_t_s_u((-3L), 0))))))) ^ (***l_1702)) == l_1553))))
            { /* block id: 721 */
                int32_t l_1716 = 7L;
                int32_t l_1717[9][10][2] = {{{0xCA7573D2L,0xBC8C8FB6L},{0x02EB3460L,0x02EB3460L},{1L,0x232018F5L},{0xA80E65F0L,(-3L)},{0L,0L},{(-2L),0L},{0x9B8C288EL,9L},{0x9B8C288EL,0L},{(-2L),0L},{0L,0xD68A5B75L}},{{0x05324E99L,0xCA7573D2L},{0xBC8C8FB6L,0x61A1E6ACL},{0x61A1E6ACL,0xF52EEFBAL},{0x1CF76573L,0xB8C0C760L},{0x69846C1EL,9L},{0x7736118EL,0xAF3F5D0BL},{1L,0xBC8C8FB6L},{(-1L),0xF52EEFBAL},{0xCB291209L,0x9B8C288EL},{0x2C9A8B27L,0L}},{{0x05324E99L,(-1L)},{0xB8D5AE34L,0xF64E5B3AL},{0L,0x583B5016L},{0x66F7FE3BL,0xC806643EL},{0L,0x4A6C3CF5L},{0xA10BBC08L,0x4C1601F1L},{0xB8D5AE34L,0x7FB7501BL},{(-1L),0xCA7573D2L},{(-2L),0x9B8C288EL},{0x2DAE311EL,0x015D2051L}},{{0x1CF76573L,0x2C9A8B27L},{1L,0xC82505ACL},{0x96D2E1F7L,0xAF3F5D0BL},{(-7L),0xB8C0C760L},{0xA80E65F0L,0x015D2051L},{0xCB291209L,0x2DAE311EL},{0xBC8C8FB6L,0x96D2E1F7L},{(-1L),(-1L)},{0xA2470F24L,0x02EB3460L},{9L,0x4A6C3CF5L}},{{0x66F7FE3BL,0x69846C1EL},{0x232018F5L,0xB8D5AE34L},{0L,0x4C1601F1L},{0xA2470F24L,0xD68A5B75L},{0x2139598EL,0L},{(-2L),0x2DAE311EL},{0x61A1E6ACL,1L},{(-1L),0x2C9A8B27L},{(-7L),9L},{0xCA7573D2L,9L}},{{(-7L),0x2C9A8B27L},{(-1L),1L},{0x61A1E6ACL,0x2DAE311EL},{(-2L),0L},{0x2139598EL,0xD68A5B75L},{0xA2470F24L,0x4C1601F1L},{0L,0xB8D5AE34L},{0x232018F5L,0x69846C1EL},{0x66F7FE3BL,0x4A6C3CF5L},{9L,0x02EB3460L}},{{0xA2470F24L,(-1L)},{(-1L),0x96D2E1F7L},{0xBC8C8FB6L,0x2DAE311EL},{0xCB291209L,0x015D2051L},{0xA80E65F0L,0xB8C0C760L},{(-7L),0xAF3F5D0BL},{0x96D2E1F7L,0xC82505ACL},{1L,0x2C9A8B27L},{0x1CF76573L,0x015D2051L},{0x2DAE311EL,0x9B8C288EL}},{{(-2L),0xCA7573D2L},{(-1L),0x7FB7501BL},{0xB8D5AE34L,0x4C1601F1L},{0xA10BBC08L,0x4A6C3CF5L},{0L,0xC806643EL},{0x66F7FE3BL,0x583B5016L},{0L,0xF64E5B3AL},{0xB8D5AE34L,(-1L)},{0x05324E99L,0L},{0x2C9A8B27L,0x9B8C288EL}},{{0xCB291209L,0xF52EEFBAL},{(-1L),0xBC8C8FB6L},{1L,0xAF3F5D0BL},{0x7736118EL,9L},{0x69846C1EL,0xB8C0C760L},{0x1CF76573L,0xF52EEFBAL},{0x61A1E6ACL,0x61A1E6ACL},{0xBC8C8FB6L,0xCA7573D2L},{0x05324E99L,0xD68A5B75L},{0x583B5016L,0x02EB3460L}}};
                int i, j, k;
                for (g_1470.f0 = (-16); (g_1470.f0 <= 22); g_1470.f0 = safe_add_func_int8_t_s_s(g_1470.f0, 9))
                { /* block id: 724 */
                    uint8_t l_1718 = 0xA5L;
                    int32_t l_1764 = 0L;
                    int32_t l_1766 = 7L;
                    int32_t l_1768 = (-1L);
                    int32_t l_1770 = (-1L);
                    uint16_t l_1771[7] = {0xF293L,0xF293L,0xF293L,0xF293L,0xF293L,0xF293L,0xF293L};
                    int i;
                    l_1718++;
                    if ((*g_1018))
                        continue;
                    for (l_1690 = (-10); (l_1690 > 25); l_1690 = safe_add_func_uint32_t_u_u(l_1690, 2))
                    { /* block id: 729 */
                        int32_t l_1761 = 7L;
                        (***l_1702) = (l_1717[6][8][0] = ((**g_1446) , (l_1718 < (((safe_mul_func_uint64_t_u_u(((safe_add_func_int64_t_s_s((safe_mod_func_uint8_t_u_u(((((!l_1717[8][1][1]) <= p_51) | ((void*)0 == &g_243)) != (safe_div_func_uint32_t_u_u((((safe_lshift_func_uint8_t_u_u((!(((g_1735[3] , l_1579) == l_1579) & 0x2EB73F94D52A27EDLL)), (***g_1128))) > (***l_1702)) >= l_1717[6][0][0]), g_881.f0.f2))), (-1L))), (-7L))) && 0UL), l_1736)) || l_1717[8][1][1]) != (-3L)))));
                        l_1761 = (safe_lshift_func_uint32_t_u_s(((safe_lshift_func_int32_t_s_u(((l_99 = (((***l_1702) = (((***l_1702) <= (safe_sub_func_uint8_t_u_u((g_1743 , ((safe_sub_func_uint16_t_u_u(((safe_sub_func_uint64_t_u_u((0x1752L == (safe_add_func_int8_t_s_s(p_51, ((l_1718 && (safe_sub_func_int16_t_s_s((((((((safe_add_func_int8_t_s_s(((0xA130L >= (!((safe_lshift_func_int64_t_s_s(p_51, (safe_add_func_int16_t_s_s(p_51, (((((safe_rshift_func_uint16_t_u_u((***l_1702), 4)) | p_51) == p_51) <= l_1716) == l_99))))) , p_51))) , (***g_413)), (**g_483))) == 0x5A919ACAL) < 0L) <= p_51) & l_1717[5][0][1]) == l_1718) ^ g_1145.f2), l_1716))) & p_51)))), p_51)) < (*g_1130)), l_1611[1][1][3])) , p_51)), p_51))) , p_51)) >= l_1718)) < g_615[0][1][0].f0.f0), 15)) < p_51), 31));
                        (*g_179) ^= (safe_mod_func_uint16_t_u_u(p_51, 0xF29CL));
                    }
                    for (g_345.f4 = 0; (g_345.f4 <= 4); g_345.f4 += 1)
                    { /* block id: 739 */
                        int8_t l_1765 = 0xE8L;
                        int32_t l_1769[9][1];
                        int i, j;
                        for (i = 0; i < 9; i++)
                        {
                            for (j = 0; j < 1; j++)
                                l_1769[i][j] = 1L;
                        }
                        ++l_1771[2];
                        (***l_1702) ^= ((*g_413) != (void*)0);
                        return (**p_52);
                    }
                }
            }
            else
            { /* block id: 745 */
                uint32_t l_1774[8][3][4] = {{{0x1BCD989BL,18446744073709551608UL,0UL,0x45BA6308L},{0x1C39938EL,8UL,0x104A5FF9L,18446744073709551609UL},{0UL,18446744073709551606UL,18446744073709551611UL,18446744073709551609UL}},{{0xA27982FBL,8UL,0x6088A0A9L,0x45BA6308L},{0xCCA4B438L,18446744073709551608UL,18446744073709551615UL,0xF46A6924L},{1UL,18446744073709551612UL,0x45BA6308L,0x1BCD989BL}},{{0xA8FD4623L,0UL,0xA8FD4623L,0x5E2F9A6EL},{0x6088A0A9L,18446744073709551606UL,18446744073709551608UL,18446744073709551611UL},{18446744073709551606UL,0xCD858D84L,0x104A5FF9L,18446744073709551606UL}},{{18446744073709551614UL,0x1BCD989BL,0x104A5FF9L,18446744073709551615UL},{18446744073709551606UL,0x45BA6308L,18446744073709551608UL,0x6088A0A9L},{0x6088A0A9L,0x104A5FF9L,0xA8FD4623L,0x6A829B82L}},{{0xA8FD4623L,0x6A829B82L,18446744073709551615UL,18446744073709551615UL},{18446744073709551611UL,18446744073709551611UL,0xCCA4B438L,18446744073709551612UL},{0x1BCD989BL,0xCD858D84L,0x5E2F9A6EL,0xA27982FBL}},{{0xA8FD4623L,18446744073709551612UL,0xE16EE7E3L,0x5E2F9A6EL},{0x6A829B82L,18446744073709551612UL,18446744073709551608UL,0xA27982FBL},{18446744073709551612UL,0xCD858D84L,18446744073709551615UL,18446744073709551612UL}},{{18446744073709551614UL,18446744073709551611UL,0xCD858D84L,18446744073709551615UL},{0UL,0x6A829B82L,18446744073709551608UL,0x6A829B82L},{0x45BA6308L,0x104A5FF9L,18446744073709551614UL,0x6088A0A9L}},{{0xA8FD4623L,0x45BA6308L,0x850E4AC4L,18446744073709551615UL},{0xA27982FBL,0x1BCD989BL,0xCCA4B438L,18446744073709551606UL},{0xA27982FBL,0xCD858D84L,0x850E4AC4L,18446744073709551611UL}}};
                int8_t ** const **l_1785 = &g_413;
                int8_t ** const ***l_1784 = &l_1785;
                int16_t **l_1798[7][7][5] = {{{&g_1356,&g_1356,&g_1356,(void*)0,&g_1356},{&g_1356,&g_1356,&g_1356,&l_1653,&g_1356},{&g_1356,&g_1356,&g_1356,&g_1356,&g_1356},{&g_1356,&g_1356,&g_1356,(void*)0,&l_1653},{&g_1356,&g_1356,&l_1653,&g_1356,&l_1653},{&g_1356,&g_1356,(void*)0,&l_1653,&l_1653},{&g_1356,(void*)0,(void*)0,(void*)0,&l_1653}},{{&g_1356,&g_1356,(void*)0,&g_1356,&g_1356},{&g_1356,&l_1653,(void*)0,&g_1356,&g_1356},{&g_1356,&g_1356,(void*)0,(void*)0,&g_1356},{&g_1356,&l_1653,&l_1653,&l_1653,&g_1356},{&g_1356,&l_1653,&g_1356,(void*)0,&l_1653},{&l_1653,&l_1653,&g_1356,&g_1356,&l_1653},{&g_1356,&g_1356,&g_1356,&g_1356,&l_1653}},{{(void*)0,&l_1653,&g_1356,(void*)0,&l_1653},{&g_1356,&g_1356,&g_1356,&l_1653,&g_1356},{(void*)0,(void*)0,&l_1653,(void*)0,&g_1356},{&g_1356,&g_1356,&l_1653,&g_1356,&g_1356},{&l_1653,&g_1356,&g_1356,&g_1356,(void*)0},{&g_1356,&g_1356,&g_1356,(void*)0,&g_1356},{&g_1356,&g_1356,&g_1356,&l_1653,&g_1356}},{{&g_1356,&g_1356,&g_1356,&g_1356,&g_1356},{&g_1356,&g_1356,&g_1356,(void*)0,&l_1653},{&g_1356,&g_1356,&l_1653,&g_1356,(void*)0},{(void*)0,&l_1653,&g_1356,&g_1356,&g_1356},{(void*)0,&g_1356,&g_1356,&g_1356,&l_1653},{&l_1653,(void*)0,(void*)0,&g_1356,&g_1356},{(void*)0,(void*)0,&g_1356,(void*)0,&l_1653}},{{&g_1356,&l_1653,&g_1356,&g_1356,&l_1653},{(void*)0,&g_1356,&g_1356,&g_1356,&g_1356},{&l_1653,&l_1653,(void*)0,&l_1653,&l_1653},{&l_1653,&g_1356,&g_1356,&g_1356,&g_1356},{(void*)0,&l_1653,&g_1356,&g_1356,(void*)0},{&g_1356,(void*)0,&g_1356,&l_1653,&l_1653},{&l_1653,(void*)0,(void*)0,&g_1356,&g_1356}},{{&g_1356,&g_1356,&g_1356,&g_1356,&l_1653},{(void*)0,&l_1653,&g_1356,(void*)0,&l_1653},{&l_1653,&l_1653,(void*)0,&g_1356,(void*)0},{&l_1653,&l_1653,&g_1356,&g_1356,&l_1653},{(void*)0,&g_1356,&g_1356,&g_1356,&l_1653},{&g_1356,&g_1356,&g_1356,&g_1356,&g_1356},{(void*)0,&l_1653,(void*)0,&g_1356,&l_1653}},{{&l_1653,&l_1653,&g_1356,&g_1356,(void*)0},{(void*)0,&l_1653,&g_1356,&g_1356,&g_1356},{(void*)0,&g_1356,&g_1356,&g_1356,&l_1653},{&l_1653,(void*)0,(void*)0,&g_1356,&g_1356},{(void*)0,(void*)0,&g_1356,(void*)0,&l_1653},{&g_1356,&l_1653,&g_1356,&g_1356,&l_1653},{(void*)0,&g_1356,&g_1356,&g_1356,&g_1356}}};
                uint32_t **l_1805 = &l_1515;
                uint64_t *l_1818 = &g_95[1][6][6];
                int i, j, k;
                for (g_1743.f1 = 0; (g_1743.f1 <= 2); g_1743.f1 += 1)
                { /* block id: 748 */
                    uint8_t ****l_1793 = &l_1604;
                    uint32_t **l_1803[5];
                    int32_t l_1812 = 0xA796BA9FL;
                    int32_t **l_1827[2];
                    int i;
                    for (i = 0; i < 5; i++)
                        l_1803[i] = &l_1515;
                    for (i = 0; i < 2; i++)
                        l_1827[i] = (void*)0;
                    (**g_178) |= (-8L);
                    l_99 = ((l_1774[1][2][2] || (((**l_1511) = (safe_lshift_func_uint32_t_u_s(((((l_1778 = l_1777) != ((p_51 >= l_100[0]) , &g_1417[3])) , (void*)0) != (void*)0), 10))) && ((safe_lshift_func_int32_t_s_s((safe_add_func_uint32_t_u_u((((l_1783 != (g_1786[1] = l_1784)) | 0x06L) && g_1735[3].f0.f2), 0xBAD13D45L)), 13)) ^ l_1611[4][0][2]))) & g_1628.f0.f2);
                    for (g_278.f0 = 0; (g_278.f0 <= 2); g_278.f0 += 1)
                    { /* block id: 756 */
                        uint32_t ***l_1804 = &l_1803[3];
                        uint32_t ***l_1806 = &l_1514;
                        int32_t l_1813 = (-1L);
                        uint64_t *l_1815 = &g_95[2][5][1];
                        int i, j;
                        (*g_179) ^= (1UL <= ((g_1790 , (safe_mod_func_int16_t_s_s(((**g_483) == (l_1793 != &g_482[0][8][3])), l_1794[0][4]))) , (((0x14F624E038CBF5BELL > ((!(((&l_1653 == l_1798[5][2][4]) != 0UL) > p_51)) || g_917.f1)) == 0xE5E1FCC962311100LL) >= (-1L))));
                        l_1813 = ((**l_815) , ((p_51 ^= (safe_rshift_func_uint32_t_u_u(1UL, 19))) || (((*l_1815) = (safe_mod_func_uint16_t_u_u((((((*l_1804) = l_1803[3]) == ((*l_1806) = l_1805)) != (((((safe_lshift_func_int64_t_s_s((((((g_1267[0].f0 < ((safe_sub_func_uint16_t_u_u(l_1774[6][1][0], (safe_unary_minus_func_uint8_t_u(((**l_1604) == (**l_1604)))))) > g_225)) , l_1736) == l_1812) ^ l_1813) ^ 0xFEL), g_243)) ^ p_51) , g_1814) , p_51) ^ (*g_179))) & 0xE754L), g_95[0][1][7]))) , 0x6DL)));
                        (***l_1702) = (((safe_sub_func_int32_t_s_s((((void*)0 != l_1818) , l_1774[1][0][0]), l_1774[3][0][0])) != g_917.f2) > l_1819);
                        l_1813 = ((**g_178) |= l_1812);
                    }
                    for (g_1659.f0 = 0; (g_1659.f0 <= 2); g_1659.f0 += 1)
                    { /* block id: 769 */
                        int32_t **l_1824 = &g_179;
                        int i, j;
                        (**l_1824) = (((safe_unary_minus_func_uint32_t_u(((***l_1702) ^ (((p_51 || (l_99 || l_99)) , (void*)0) != (g_1436[g_1743.f1][(g_1659.f0 + 3)] = (void*)0))))) == (safe_sub_func_int8_t_s_s(((g_1823[1] , l_1824) != ((safe_mod_func_int32_t_s_s((-1L), 1L)) , l_1827[1])), 0x7DL))) , (-6L));
                        if (g_33.f2)
                            goto lbl_1828;
                        (*g_178) = (**l_1702);
                    }
                }
                if (p_51)
                    continue;
            }
        }
    }
    (**g_178) = 0x662B585EL;
    (**g_178) = l_1611[4][4][3];
    return (*g_35);
}


/* ------------------------------------------ */
/* 
 * reads : g_24 g_363 g_35 g_33 g_555.f2 g_178 g_179 g_29 g_413 g_414 g_415 g_917 g_12 g_273 g_98 g_474.f1 g_195 g_225 g_555.f0 g_984 g_27 g_49 g_1002 g_481 g_361 g_1015 g_1018 g_881.f0.f0 g_1050 g_247 g_697 g_714 g_556.f0 g_875 g_774 g_615.f0.f0 g_1501 g_874
 * writes: g_556.f0 g_29 g_178 g_361 g_145 g_697 g_195 g_362 g_225 g_881.f1 g_555.f0 g_179 g_1002 g_482 g_247 g_243 g_1050 g_345.f1 g_345.f4 g_33.f0 g_984 g_714 g_35
 */
static struct S0 *** func_55(const uint64_t * p_56, struct S0 * p_57, int16_t  p_58, struct S0 ** p_59)
{ /* block id: 328 */
    int8_t l_818 = 1L;
    struct S0 **l_820[1][6][1] = {{{&g_35},{&g_35},{&g_35},{&g_35},{&g_35},{&g_35}}};
    struct S0 ***l_819 = &l_820[0][0][0];
    uint64_t *l_821[10] = {&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7],&g_95[0][1][7]};
    int32_t l_822 = 0x7AF3A976L;
    struct S0 **l_826 = &g_35;
    struct S0 ***l_825 = &l_826;
    uint8_t *l_827 = &g_556.f0;
    int32_t **l_832 = &g_179;
    int32_t ***l_833 = &g_178;
    int32_t **l_835 = &g_179;
    int32_t ***l_834 = &l_835;
    int16_t l_836 = 0x53DBL;
    int8_t l_841 = (-2L);
    int64_t *l_842 = &g_361[4];
    int64_t *l_843 = &g_145;
    uint16_t l_844 = 0x91CDL;
    int32_t l_869 = 0xCF08B31FL;
    int8_t * const *l_927[6][7][1] = {{{&g_415},{&g_415},{&g_415},{&g_415},{&g_415},{&g_415},{&g_415}},{{&g_415},{&g_415},{(void*)0},{&g_415},{&g_415},{(void*)0},{&g_415}},{{&g_415},{&g_415},{&g_415},{&g_415},{&g_415},{&g_415},{&g_415}},{{&g_415},{(void*)0},{&g_415},{&g_415},{(void*)0},{&g_415},{&g_415}},{{&g_415},{&g_415},{&g_415},{&g_415},{&g_415},{&g_415},{&g_415}},{{(void*)0},{&g_415},{&g_415},{(void*)0},{&g_415},{&g_415},{&g_415}}};
    int8_t * const **l_926 = &l_927[3][1][0];
    int8_t * const ***l_925 = &l_926;
    int16_t l_994 = 0L;
    uint32_t l_1046 = 0x3A3CD308L;
    int32_t l_1059 = 0L;
    int32_t l_1060 = 4L;
    int32_t l_1061 = 1L;
    int32_t l_1062 = 0x1A1937B6L;
    int32_t l_1063 = 0x76E8764BL;
    int32_t l_1064[4];
    const int16_t *l_1107 = &g_362[1][8][2];
    const int16_t * const *l_1106 = &l_1107;
    const int16_t * const **l_1105[9][4] = {{&l_1106,&l_1106,&l_1106,&l_1106},{(void*)0,&l_1106,(void*)0,&l_1106},{&l_1106,&l_1106,(void*)0,&l_1106},{&l_1106,&l_1106,&l_1106,(void*)0},{&l_1106,&l_1106,&l_1106,&l_1106},{&l_1106,&l_1106,&l_1106,&l_1106},{&l_1106,&l_1106,&l_1106,&l_1106},{&l_1106,&l_1106,&l_1106,&l_1106},{&l_1106,&l_1106,(void*)0,&l_1106}};
    uint8_t ** const *l_1127 = &g_483;
    uint16_t l_1141 = 0x1CD2L;
    uint32_t l_1187 = 4294967295UL;
    int8_t l_1195 = 0xB2L;
    int32_t *l_1334 = &l_1059;
    int16_t *l_1347 = &g_362[2][4][4];
    int16_t **l_1346 = &l_1347;
    const struct S0 ***l_1449 = (void*)0;
    const struct S0 *** const *l_1448 = &l_1449;
    uint32_t l_1491[6] = {0x1DA05EDFL,0xDD0DE28FL,0x1DA05EDFL,0x1DA05EDFL,0xDD0DE28FL,0x1DA05EDFL};
    int i, j, k;
    for (i = 0; i < 4; i++)
        l_1064[i] = 0x4B762F77L;
lbl_1070:
    (**g_178) = ((safe_lshift_func_uint16_t_u_u(l_818, (g_24 != (((l_822 = (((*l_819) = &g_35) == &p_57)) > (safe_add_func_uint8_t_u_u((p_58 && l_818), (((*l_827) = ((((*l_825) = &p_57) != ((**g_363) , &p_57)) >= p_58)) < p_58)))) < g_555.f2)))) || l_818);
    if ((safe_sub_func_int8_t_s_s((safe_sub_func_uint32_t_u_u((((**g_178) && (((*l_833) = l_832) == ((*l_834) = (void*)0))) <= 65535UL), l_836)), (safe_add_func_int64_t_s_s((p_58 ^ ((p_58 == (((l_841 = p_58) | (l_844 |= ((*l_843) = ((*l_842) = 0xC1D321AF847646EFLL)))) <= 0x8DL)) , p_58)), 3UL)))))
    { /* block id: 340 */
        uint16_t *l_852 = (void*)0;
        int32_t l_859 = 8L;
        uint8_t l_871 = 0x24L;
        uint8_t l_896[10][9] = {{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL},{255UL,251UL,255UL,255UL,251UL,255UL,255UL,251UL,255UL}};
        struct S0 **l_921 = (void*)0;
        int32_t l_933 = 0x501A2DA0L;
        int64_t l_971 = 1L;
        uint32_t *l_1016 = &g_1002;
        int i, j;
        for (g_29 = 5; (g_29 > (-9)); --g_29)
        { /* block id: 343 */
            uint16_t l_847 = 0x284DL;
            int32_t ** const *l_862 = (void*)0;
            int32_t l_870 = 1L;
            const uint64_t l_920 = 0x7052B021F281AD8DLL;
            uint8_t *l_935 = &g_555.f0;
            int32_t *l_972 = &g_24;
            for (g_697 = 4; (g_697 >= 0); g_697 -= 1)
            { /* block id: 346 */
                uint16_t *l_860 = &g_243;
                int32_t l_861[9] = {1L,0x9D958C69L,1L,0x9D958C69L,1L,0x9D958C69L,1L,0x9D958C69L,1L};
                int8_t l_865 = 0L;
                int i;
            }
            if ((safe_mod_func_int16_t_s_s((g_362[2][4][4] = ((~(((((safe_rshift_func_int32_t_s_s(((safe_mod_func_int32_t_s_s((safe_mul_func_uint64_t_u_u((safe_add_func_int8_t_s_s(((***g_413) = (-7L)), (safe_div_func_int32_t_s_s(((((safe_mod_func_int16_t_s_s((l_896[5][4] == (safe_add_func_int32_t_s_s((safe_add_func_int8_t_s_s((g_917 , ((l_896[5][4] == (((safe_rshift_func_uint64_t_u_u(l_920, 40)) || (l_921 == ((*l_819) = (void*)0))) || p_58)) != (safe_mul_func_int8_t_s_s(((1L || (-7L)) && 18446744073709551608UL), 253UL)))), p_58)), l_847))), g_12[2])) <= (***l_833)) <= l_896[6][8]) || 0UL), (**g_178))))), g_273[4][0])), p_58)) <= (-6L)), 16)) >= p_58) , 5L) , 0xACE9D0C2L) ^ (*g_179))) || p_58)), g_98)))
            { /* block id: 371 */
                int16_t *l_932 = &g_362[2][4][4];
                int32_t l_934 = 0xFBCB248CL;
                int32_t l_936 = 5L;
                g_225 ^= ((((safe_unary_minus_func_int64_t_s((((((l_934 = (l_859 | (l_896[5][4] >= (l_933 &= (l_859 <= ((g_474.f1 , l_925) == (((((((safe_rshift_func_int8_t_s_s((((*l_827) = p_58) <= (***g_413)), (safe_mul_func_uint64_t_u_u((((*l_932) = (0x3772E24BL != 1UL)) | p_58), l_871)))) || l_847) , l_896[2][2]) >= p_58) ^ 0x1FL) & (**g_178)) , (void*)0))))))) && p_58) , l_935) == (void*)0) , 0x726B40AD365308E6LL))) , (*g_415)) & l_936) ^ 0x7A41119AL);
            }
            else
            { /* block id: 377 */
                uint16_t l_952 = 0UL;
                uint32_t *l_953 = (void*)0;
                uint32_t *l_954 = &g_881.f1;
                uint32_t *l_955 = &g_345.f1;
                uint32_t *l_956 = (void*)0;
                uint32_t *l_957 = &g_345.f1;
                uint32_t *l_958 = (void*)0;
                uint32_t *l_959 = &g_345.f1;
                uint32_t *l_960 = (void*)0;
                uint32_t *l_961 = &g_881.f1;
                uint32_t *l_962 = &g_881.f1;
                uint32_t *l_963 = (void*)0;
                uint32_t *l_964 = &g_345.f1;
                uint32_t *l_965 = &g_615[0][1][0].f1;
                uint32_t *l_966 = &g_881.f1;
                uint32_t *l_967 = &g_615[0][1][0].f1;
                int32_t *l_973[9][10][1] = {{{&g_24},{&l_869},{&g_225},{&g_697},{&g_225},{&l_869},{&g_24},{(void*)0},{(void*)0},{(void*)0}},{{(void*)0},{(void*)0},{&l_933},{&l_933},{&l_869},{&l_933},{&g_24},{&g_225},{(void*)0},{&l_933}},{{(void*)0},{&g_697},{(void*)0},{(void*)0},{&g_697},{(void*)0},{&l_933},{(void*)0},{&g_225},{&g_24}},{{&l_933},{&l_869},{&l_933},{&l_933},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{(void*)0},{&g_24}},{{&l_869},{&g_225},{&g_697},{&g_225},{&l_869},{&g_24},{(void*)0},{(void*)0},{(void*)0},{(void*)0}},{{(void*)0},{&l_933},{&l_933},{&l_869},{&l_933},{(void*)0},{&g_697},{&l_869},{&g_697},{&g_697}},{{&l_933},{&l_933},{&l_933},{&l_933},{&g_697},{&g_697},{&l_869},{&g_697},{(void*)0},{&l_869}},{{&l_933},{&g_697},{&l_870},{&l_933},{&l_933},{&g_697},{&l_933},{&g_697},{&l_933},{&l_933}},{{&g_697},{&l_933},{&g_697},{&l_933},{&l_933},{&g_697},{&l_933},{&g_697},{&l_933},{&l_933}}};
                int i, j, k;
                if (p_58)
                    break;
                l_933 |= ((safe_lshift_func_uint16_t_u_u(65532UL, ((safe_rshift_func_uint16_t_u_u(((***l_833) ^ ((*p_57) , (safe_div_func_int64_t_s_s((0x66D166B4L < ((safe_mod_func_int16_t_s_s((safe_unary_minus_func_uint8_t_u(((*l_935) &= (safe_mul_func_uint8_t_u_u((safe_add_func_int16_t_s_s((safe_add_func_uint32_t_u_u(((l_952 = 0x2025413AL) && ((*l_961) = (l_859 ^= p_58))), (-9L))), (!(safe_rshift_func_uint8_t_u_u((((l_971 , l_972) == &l_933) > 0xD4D1L), p_58))))), 0x0AL))))), 0xC873L)) != p_58)), 0xF00BE5AF1F14BA8FLL)))), 4)) >= 0x8169L))) <= 0xAE7DL);
                if ((safe_rshift_func_uint64_t_u_u((safe_sub_func_int64_t_s_s(g_12[2], 0x197CC1F3A9518522LL)), 28)))
                { /* block id: 384 */
                    uint64_t l_981 = 4UL;
                    for (g_195 = 0; (g_195 < (-29)); g_195 = safe_sub_func_uint8_t_u_u(g_195, 1))
                    { /* block id: 387 */
                        int32_t l_980 = 0xC039A3C8L;
                        l_981--;
                        l_980 |= g_984;
                    }
                    if ((*g_179))
                        break;
                    (*g_178) = (g_27[3] , (void*)0);
                    return &g_875;
                }
                else
                { /* block id: 394 */
                    int16_t l_997 = 0L;
                    uint32_t *l_998 = &g_345.f1;
                    uint32_t *l_999 = &g_615[0][1][0].f1;
                    uint32_t *l_1000 = &g_615[0][1][0].f1;
                    uint32_t *l_1001[7] = {(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0,(void*)0};
                    int i;
                    l_933 = (safe_add_func_int8_t_s_s((safe_lshift_func_int8_t_s_u(((((((void*)0 != &g_95[0][1][7]) , 0xAFL) ^ (p_58 && (safe_sub_func_uint64_t_u_u((safe_lshift_func_uint64_t_u_u((~l_994), 5)), (**l_832))))) ^ (g_1002 &= (safe_mul_func_uint32_t_u_u((0x49DD89EE39C9E579LL < (l_997 <= g_49)), (-1L))))) & p_58), 3)), 0L));
                    for (l_997 = 0; (l_997 <= 6); l_997 += 1)
                    { /* block id: 399 */
                        int i;
                        l_859 = (l_870 = (safe_sub_func_int32_t_s_s((((*g_481) = (void*)0) == ((safe_rshift_func_uint32_t_u_s((g_361[l_997] != (safe_sub_func_int8_t_s_s(p_58, 0xA6L))), 2)) , (p_58 , (void*)0))), (safe_mul_func_int16_t_s_s((safe_rshift_func_int8_t_s_s(((&g_1002 != l_961) > (safe_mul_func_uint8_t_u_u(p_58, g_361[l_997]))), 5)), 0x0B58L)))));
                        l_822 |= (l_933 = (g_1015 , l_933));
                    }
                }
            }
            (*g_1018) &= ((void*)0 != l_1016);
        }
    }
    else
    { /* block id: 410 */
        int8_t l_1047 = 0xFFL;
        int32_t l_1051 = 0xF5273911L;
        int32_t l_1053 = 0xFFF1C56EL;
        int32_t l_1054 = 0xD2EF43A2L;
        int32_t l_1055 = 0L;
        int32_t l_1056 = 0x93B617CDL;
        int32_t l_1057 = 0L;
        int32_t l_1058[7][1];
        union U1 * const l_1125 = &g_345;
        int32_t *l_1126 = &g_476;
        uint8_t **l_1159 = &g_162;
        int8_t ****l_1167[9][9] = {{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0},{&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0,&g_751,&g_751,(void*)0}};
        int8_t l_1189 = 0x65L;
        int16_t *l_1233 = (void*)0;
        int64_t l_1329[6] = {4L,4L,4L,4L,4L,4L};
        uint32_t *l_1365 = (void*)0;
        int16_t l_1484 = 4L;
        uint64_t l_1498 = 7UL;
        int i, j;
        for (i = 0; i < 7; i++)
        {
            for (j = 0; j < 1; j++)
                l_1058[i][j] = 0xC1A5C567L;
        }
        for (g_247 = 0; (g_247 > 23); g_247 = safe_add_func_uint16_t_u_u(g_247, 6))
        { /* block id: 413 */
            volatile int16_t * volatile * volatile *l_1022 = &g_774;
            volatile int16_t * volatile * volatile **l_1021 = &l_1022;
            uint16_t *l_1028 = &g_243;
            int32_t *l_1044[7] = {&g_714[1][0],&g_714[1][0],&g_714[1][0],&g_714[1][0],&g_714[1][0],&g_714[1][0],&g_714[1][0]};
            int32_t l_1045 = 0xE43B7137L;
            int32_t *l_1048 = &g_225;
            int32_t *l_1049 = &g_697;
            int32_t *l_1052[1];
            int16_t l_1065 = 0x54A0L;
            uint8_t l_1066[9];
            uint32_t l_1117 = 0UL;
            int i;
            for (i = 0; i < 1; i++)
                l_1052[i] = &g_225;
            for (i = 0; i < 9; i++)
                l_1066[i] = 0UL;
            (*l_1021) = &g_774;
            g_1050 &= ((*l_1049) = (((*l_1048) |= (safe_unary_minus_func_uint16_t_u((safe_mod_func_int32_t_s_s((0xE2L && ((((((safe_lshift_func_uint16_t_u_u(((*l_1028) = g_27[2]), 0)) , (((safe_sub_func_uint16_t_u_u((safe_sub_func_uint16_t_u_u((safe_mul_func_int64_t_s_s(((*l_842) &= (5UL | (safe_sub_func_uint16_t_u_u((safe_rshift_func_int8_t_s_s((-4L), 3)), ((l_1045 |= (safe_unary_minus_func_int16_t_s((((void*)0 != &p_57) > (((18446744073709551615UL ^ ((safe_mul_func_int32_t_s_s(((***l_833) = 0L), ((safe_sub_func_int16_t_s_s((-1L), g_27[3])) ^ p_58))) ^ p_58)) , p_58) , p_58))))) , (***l_833)))))), l_1046)), 0x3A2AL)), 0xA085L)) < (-9L)) ^ p_58)) , l_1047) && 0xB933590FL) < p_58) , l_1045)), g_881.f0.f0))))) , p_58));
            --l_1066[8];
            if ((g_33.f0 , ((*g_179) = p_58)))
            { /* block id: 424 */
                return &g_875;
            }
            else
            { /* block id: 426 */
                uint32_t *l_1069 = &g_345.f1;
                int32_t l_1072 = 0xE6E7902AL;
                int32_t l_1074 = 0L;
                int32_t l_1075 = 0x389321FEL;
                int32_t l_1077 = 0xB2CCDAD0L;
                int32_t l_1078 = 0L;
                int64_t l_1084 = (-5L);
                int16_t *l_1110[4][2] = {{&g_247,&l_836},{&g_247,&l_836},{&g_247,&l_836},{&g_247,&l_836}};
                int16_t **l_1109 = &l_1110[0][1];
                int16_t ***l_1108 = &l_1109;
                int i, j;
                if ((((*l_1069) = (&g_482[0][8][4] != &g_482[0][5][2])) , (**l_832)))
                { /* block id: 428 */
                    int32_t l_1071 = 0L;
                    uint32_t l_1079[3][6][5] = {{{0xBB5D72EBL,0xFAD1D199L,0x4C1F376BL,0UL,0x38FA2794L},{0x643E8558L,0x7BF3EC94L,0x3BF68994L,0x3BF68994L,0x7BF3EC94L},{1UL,1UL,0x27E84871L,0xFAD1D199L,0x38FA2794L},{0UL,0x3BF68994L,0x74D90359L,18446744073709551615UL,0x74D90359L},{0x38FA2794L,0x1D7C34D0L,0xBB5D72EBL,3UL,18446744073709551615UL},{0UL,18446744073709551615UL,0x643E8558L,1UL,1UL}},{{1UL,3UL,1UL,0x006729F9L,0x40C46A0CL},{0x643E8558L,18446744073709551615UL,0UL,0x7BF3EC94L,0UL},{0xBB5D72EBL,0x1D7C34D0L,0x38FA2794L,1UL,1UL},{0x74D90359L,18446744073709551615UL,18446744073709551606UL,18446744073709551615UL,0x74D90359L},{0x4C1F376BL,3UL,18446744073709551615UL,3UL,0x4C1F376BL},{18446744073709551615UL,0x3BF68994L,1UL,18446744073709551615UL,18446744073709551615UL}},{{1UL,1UL,0x38FA2794L,0x1D7C34D0L,0xBB5D72EBL},{0x7BF3EC94L,18446744073709551606UL,0x643E8558L,0x3BF68994L,18446744073709551615UL},{0UL,0x1D7C34D0L,0x4C1F376BL,1UL,0x4C1F376BL},{18446744073709551615UL,18446744073709551615UL,18446744073709551615UL,0x7BF3EC94L,0x74D90359L},{0UL,0UL,1UL,0xFAD1D199L,18446744073709551615UL},{0x7BF3EC94L,0UL,0x7BF3EC94L,0UL,18446744073709551615UL}}};
                    int32_t l_1085 = 0x0545330BL;
                    int32_t l_1088 = 7L;
                    int32_t l_1090 = 0xE05A53D4L;
                    int32_t l_1091[1];
                    int i, j, k;
                    for (i = 0; i < 1; i++)
                        l_1091[i] = 0L;
                    for (g_345.f4 = 0; (g_345.f4 <= 3); g_345.f4 += 1)
                    { /* block id: 431 */
                        int32_t l_1073[6][10] = {{0x42F91EF9L,0x2A14FAD6L,0x42F91EF9L,0xB826EC32L,(-1L),(-1L),0xB826EC32L,0x42F91EF9L,0x2A14FAD6L,0x42F91EF9L},{0x42F91EF9L,0x604CAC84L,0x2A14FAD6L,3L,0x2A14FAD6L,0x604CAC84L,0x42F91EF9L,0x42F91EF9L,0x604CAC84L,0x2A14FAD6L},{0x604CAC84L,0x42F91EF9L,0x42F91EF9L,0x604CAC84L,0x2A14FAD6L,3L,0x2A14FAD6L,0x604CAC84L,0x42F91EF9L,0x42F91EF9L},{0x2A14FAD6L,0x42F91EF9L,0xB826EC32L,(-1L),(-1L),0xB826EC32L,0x42F91EF9L,0x2A14FAD6L,0x42F91EF9L,0xB826EC32L},{3L,0x604CAC84L,(-1L),0x604CAC84L,3L,0xB826EC32L,0xB826EC32L,3L,0x604CAC84L,(-1L)},{0x2A14FAD6L,0x2A14FAD6L,(-1L),3L,0xA39F8AB8L,3L,(-1L),0x2A14FAD6L,0x2A14FAD6L,(-1L)}};
                        int32_t l_1076 = 0xA2699915L;
                        int i, j;
                        if (g_247)
                            goto lbl_1070;
                        l_1079[2][3][1]--;
                        (**g_178) = (p_58 , (safe_mul_func_uint64_t_u_u(0UL, p_58)));
                    }
                    for (g_33.f0 = 2; (g_33.f0 <= 6); g_33.f0 += 1)
                    { /* block id: 438 */
                        (*l_1049) ^= (***l_833);
                    }
                    for (l_1060 = 1; (l_1060 >= 0); l_1060 -= 1)
                    { /* block id: 443 */
                        int32_t l_1086 = 0x75E2EB1CL;
                        int32_t l_1087 = (-3L);
                        int32_t l_1089 = 0xD7F0DBC3L;
                        uint32_t l_1092 = 0xE7589E6CL;
                        int i;
                        (*l_1048) &= l_1064[(l_1060 + 2)];
                        l_1092--;
                    }
                }
                else
                { /* block id: 447 */
                    uint32_t l_1095[5][5] = {{4294967293UL,4294967293UL,4294967293UL,4294967293UL,4294967293UL},{4294967286UL,4294967286UL,4294967286UL,4294967286UL,4294967286UL},{4294967293UL,4294967293UL,4294967293UL,4294967293UL,4294967293UL},{4294967286UL,4294967286UL,4294967286UL,4294967286UL,4294967286UL},{4294967293UL,4294967293UL,4294967293UL,4294967293UL,4294967293UL}};
                    uint16_t l_1111 = 0x264DL;
                    int i, j;
                    for (g_984 = 0; g_984 < 9; g_984 += 1)
                    {
                        for (l_1075 = 0; l_1075 < 2; l_1075 += 1)
                        {
                            g_714[g_984][l_1075] = 0xA17474EEL;
                        }
                    }
                    (**g_178) = p_58;
                    l_1058[5][0] |= ((((((l_1095[2][4] ^ ((safe_div_func_uint64_t_u_u(p_58, ((*l_842) = g_27[3]))) ^ ((((*l_827) &= (safe_mul_func_uint8_t_u_u((0L > (((((safe_div_func_uint32_t_u_u((((~(safe_add_func_int16_t_s_s(((((g_714[1][0] , ((l_1105[4][0] == l_1108) >= (l_1111 , 3L))) , 1L) , (**l_832)) > p_58), (-1L)))) && l_1072) < 0x55891674L), 1UL)) , p_58) > 0UL) != 6UL) > l_1095[1][1])), 0x7FL))) <= 0x74L) != p_58))) | l_1095[2][4]) >= p_58) , (void*)0) != &l_925) >= (**l_832));
                }
                (*g_875) = (*p_59);
                for (g_33.f0 = 25; (g_33.f0 != 23); --g_33.f0)
                { /* block id: 457 */
                    int8_t l_1114 = 0x90L;
                    int32_t l_1115 = 0xA73E5B25L;
                    int32_t l_1116[9][5] = {{(-3L),0x7B33123EL,0x7B33123EL,(-3L),0x7B33123EL},{0x3482815AL,0x3482815AL,0x43685A05L,0x3482815AL,0x3482815AL},{0x7B33123EL,(-3L),0x7B33123EL,0x7B33123EL,(-3L)},{0x3482815AL,8L,8L,0x3482815AL,8L},{(-3L),(-3L),0L,(-3L),(-3L)},{8L,0x3482815AL,8L,8L,0x3482815AL},{(-3L),0x7B33123EL,0x7B33123EL,(-3L),0x7B33123EL},{0x3482815AL,0x3482815AL,0x43685A05L,0x3482815AL,0x3482815AL},{0x7B33123EL,(-3L),0x7B33123EL,0x7B33123EL,(-3L)}};
                    int i, j;
                    l_1117++;
                    return &g_875;
                }
                (**l_832) = (safe_rshift_func_int8_t_s_s(((p_58 < ((~(((safe_div_func_uint64_t_u_u((0x93AEA4BEL >= (((**l_832) && 0x7E2DL) & (l_1125 == ((((void*)0 == g_774) & g_615[0][1][0].f0.f0) , &g_615[0][1][0])))), 18446744073709551612UL)) , &g_476) != l_1126)) , p_58)) & 0x0AL), 6));
            }
        }
    }
    return (*g_1501);
}


/* ------------------------------------------ */
/* 
 * reads : g_34 g_35 g_29 g_22 g_98 g_114 g_24 g_102 g_33.f0 g_12 g_33 g_21 g_145 g_49 g_27 g_129 g_95 g_162 g_178 g_179
 * writes: g_33.f0 g_98 g_75 g_27 g_129 g_29 g_145 g_102 g_162 g_95 g_195
 */
static struct S0 * func_61(int8_t  p_62, int32_t  p_63)
{ /* block id: 23 */
    uint8_t l_107 = 1UL;
    uint8_t *l_111 = &g_33.f0;
    struct S0 **l_112 = &g_35;
    int32_t *l_113 = &g_24;
    uint64_t *l_127 = &g_95[0][1][7];
    int32_t l_212 = 0x2B2F5051L;
    int32_t l_215[9][8][3] = {{{0x7A856C62L,8L,0L},{(-1L),5L,(-1L)},{7L,8L,0x01652FCFL},{0x64A00A49L,5L,5L},{7L,8L,1L},{1L,5L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L}},{{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L},{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L}},{{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L},{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L}},{{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L},{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L}},{{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L},{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L}},{{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L},{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L}},{{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L},{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L}},{{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L},{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,0x4DBDFB15L,0x4DBDFB15L}},{{0x01652FCFL,1L,0L},{(-1L),0x4DBDFB15L,4L},{0L,1L,0L},{0xF6E7C4BEL,0x4DBDFB15L,0xB8FCFDF7L},{1L,1L,0x2FD106FBL},{5L,1L,1L},{0x2FD106FBL,0x5C35DA18L,7L},{0xB8FCFDF7L,1L,0x64A00A49L}}};
    uint16_t l_224 = 65534UL;
    uint64_t l_248 = 0x872889E00171D70ALL;
    int32_t l_322 = (-6L);
    int64_t l_358 = 0x7A9AE85249B6448ELL;
    const int32_t l_404 = 0x689C3807L;
    int8_t **l_411 = (void*)0;
    int8_t ** const *l_410[4][2] = {{&l_411,&l_411},{&l_411,&l_411},{&l_411,&l_411},{&l_411,&l_411}};
    int16_t *l_441 = &g_247;
    int16_t *l_460 = &g_362[2][4][4];
    int32_t **l_543 = &g_179;
    uint64_t l_602 = 18446744073709551615UL;
    uint8_t ***l_616 = &g_483;
    int8_t l_664 = 0x38L;
    int32_t l_693 = 0x6C3490E3L;
    int i, j, k;
    if ((safe_rshift_func_uint64_t_u_s((0xC8E61696L > (safe_sub_func_uint32_t_u_u(l_107, ((void*)0 == &g_34)))), ((((((*l_111) = (((*g_34) != (void*)0) , (+((g_29 && (p_63 != (0L > g_22))) >= (-1L))))) <= g_98) , (void*)0) != l_112) == p_62))))
    { /* block id: 25 */
        int32_t **l_115 = &l_113;
        int8_t *l_125 = &g_98;
        int8_t **l_124 = &l_125;
        uint32_t l_147 = 0xD55B7793L;
        int32_t *l_150[4][5] = {{&g_24,&g_24,&g_24,&g_24,&g_24},{&g_24,&g_24,&g_24,&g_24,&g_24},{&g_24,&g_24,&g_24,&g_24,&g_24},{&g_24,&g_24,&g_24,&g_24,&g_24}};
        uint64_t *l_155 = (void*)0;
        int32_t l_177 = 5L;
        struct S0 *l_196 = &g_33;
        int64_t l_210 = 0xD07A39AD04334622LL;
        int i, j;
        (*l_115) = l_113;
        if ((((void*)0 == g_114) , (safe_rshift_func_int64_t_s_s((safe_div_func_int8_t_s_s(p_63, 0x61L)), (safe_rshift_func_int16_t_s_u((**l_115), (((safe_rshift_func_int32_t_s_s(((((**l_115) && (**l_115)) != ((((*l_124) = &g_98) != &p_62) , g_102)) || (*l_113)), 26)) | g_33.f0) | g_12[1])))))))
        { /* block id: 28 */
            int32_t l_146 = (-7L);
            int32_t l_163 = 1L;
            int32_t *l_164 = &g_29;
            for (g_98 = 2; (g_98 >= 0); g_98 -= 1)
            { /* block id: 31 */
                struct S0 *l_126 = &g_33;
                uint64_t *l_128 = (void*)0;
                int32_t *l_135 = &g_29;
                int64_t *l_144 = &g_145;
                uint8_t *l_161 = (void*)0;
                for (l_107 = 0; (l_107 <= 2); l_107 += 1)
                { /* block id: 34 */
                    for (g_75 = 0; g_75 < 4; g_75 += 1)
                    {
                        g_27[g_75] = 0x9D754EFBL;
                    }
                    for (p_63 = 3; (p_63 >= 0); p_63 -= 1)
                    { /* block id: 38 */
                        return l_126;
                    }
                }
                (*l_115) = ((((g_129 = (l_128 = l_127)) != l_127) > (safe_mod_func_int64_t_s_s((g_75 = (*l_113)), ((safe_sub_func_int64_t_s_s((p_63 || ((((*l_135) = (safe_unary_minus_func_int16_t_s(p_63))) , 0L) , ((((safe_sub_func_uint16_t_u_u((safe_add_func_int8_t_s_s((safe_div_func_int16_t_s_s((safe_sub_func_int16_t_s_s((((*l_144) &= ((((*l_126) , 1UL) , g_21) != p_63)) || l_146), l_147)), (*l_135))), g_49)), (*l_113))) <= g_102) , g_12[2]) != (**l_115)))), p_63)) && (*l_135))))) , &g_29);
                if ((safe_mul_func_uint32_t_u_u((&g_34 == (void*)0), l_146)))
                { /* block id: 48 */
                    int32_t l_160 = (-10L);
                    for (g_102 = 0; (g_102 <= 2); g_102 += 1)
                    { /* block id: 51 */
                        (*l_115) = l_150[0][3];
                        (*l_115) = &p_63;
                    }
                    l_163 ^= ((safe_lshift_func_int8_t_s_s(((safe_rshift_func_uint64_t_u_s(1UL, 45)) < (p_63 >= ((l_155 = &g_49) != (((safe_sub_func_uint16_t_u_u((((0L ^ (*l_135)) | (*l_113)) > (l_160 == ((g_162 = l_161) != &l_107))), 0x2BBFL)) != l_146) , &g_49)))), g_27[3])) == (*g_129));
                    return (*g_34);
                }
                else
                { /* block id: 59 */
                    int32_t ***l_180 = &l_115;
                    int8_t *l_194 = &g_195;
                    l_164 = (void*)0;
                    (*g_179) = (((((p_63 > (safe_sub_func_uint64_t_u_u((g_33.f1 || (((safe_rshift_func_int16_t_s_u((((&l_164 != ((*l_180) = (((**g_34) , (((g_24 > ((safe_sub_func_int32_t_s_s(0xBBDD6291L, (((safe_sub_func_int8_t_s_s((safe_lshift_func_int32_t_s_u(((p_62 == (*g_162)) == (safe_lshift_func_int32_t_s_u(((*l_113) < 65532UL), g_49))), 11)), g_33.f0)) != 7UL) <= (*g_162)))) < l_177)) == 0x33AEL) ^ g_95[0][1][7])) , g_178))) < g_102) | p_63), p_62)) , 251UL) < p_63)), (*g_129)))) == p_63) == 0x7B4AL) < 0UL) != 1L);
                    (**g_178) = (safe_mod_func_uint64_t_u_u((***l_180), (safe_mul_func_int16_t_s_s((safe_sub_func_int32_t_s_s(((**g_178) , ((void*)0 == &p_63)), (safe_mul_func_uint16_t_u_u((((&g_178 == (void*)0) > 1UL) & ((*l_194) = (p_63 , ((safe_mul_func_uint64_t_u_u(((*l_127) = (((~(safe_mod_func_int16_t_s_s((g_33.f1 != (*g_129)), 0xF3BFL))) > (*g_162)) & p_63)), 1L)) && p_63)))), (***l_180))))), (*l_135)))));
                    return l_196;
                }
            }
            return (*g_34);
        }
        else
        { /* block id: 70 */
            const uint8_t l_201 = 1UL;
            int32_t * const l_209 = &g_29;
            int32_t l_211 = (-1L);
            int32_t l_213 = 2L;
            int32_t l_214 = 0x79DA225AL;
            int32_t l_216 = (-8L);
            int32_t l_217 = 0xF6F0A70CL;
            int32_t l_218 = 8L;
            uint64_t l_219 = 0xB69A5DB99627D35BLL;
            (**g_178) = (safe_mod_func_uint8_t_u_u(1UL, ((0xF369DC22L > (l_201 <= (0x4C8BL < (safe_div_func_uint8_t_u_u(((safe_lshift_func_uint64_t_u_u((!(p_63 >= g_95[0][1][7])), (l_201 == ((((*g_179) >= (((0x96AEL > g_102) | 18446744073709551609UL) >= 0x9F1796B59A0B5EE5LL)) , l_209) == (void*)0)))) > g_95[0][1][7]), (*g_162)))))) | 0x14L)));
            l_219++;
        }
        return (*g_34);
    }
    else
    { /* block id: 75 */
        (**g_178) = (*l_113);
    }
    for (l_107 = 16; (l_107 == 31); l_107++)
    { /* block id: 80 */
        int16_t l_231 = 0L;
        uint16_t *l_241 = (void*)0;
        uint16_t *l_242[8][5][6] = {{{&l_224,&l_224,&l_224,&l_224,&l_224,&l_224},{(void*)0,&l_224,(void*)0,&g_243,&l_224,&g_243},{&l_224,&l_224,&l_224,(void*)0,(void*)0,&l_224},{&g_243,&g_243,&g_243,(void*)0,&l_224,&g_243},{&l_224,&g_243,&g_243,&g_243,&g_243,&g_243}},{{(void*)0,&l_224,&g_243,&l_224,&g_243,&g_243},{&l_224,&l_224,&g_243,&g_243,&l_224,&l_224},{&g_243,&l_224,&l_224,&l_224,&g_243,&g_243},{&g_243,&l_224,(void*)0,&l_224,&g_243,&l_224},{&g_243,&g_243,&l_224,&l_224,&l_224,&l_224}},{{&g_243,&g_243,&g_243,&g_243,(void*)0,&l_224},{&l_224,&l_224,&l_224,&l_224,&l_224,&l_224},{(void*)0,&l_224,(void*)0,&g_243,&l_224,&g_243},{&l_224,&l_224,&l_224,(void*)0,(void*)0,&l_224},{&g_243,&g_243,&g_243,(void*)0,&l_224,&g_243}},{{&l_224,&g_243,&g_243,&g_243,&g_243,&g_243},{(void*)0,&l_224,&g_243,&l_224,&g_243,&g_243},{&l_224,&l_224,&g_243,&g_243,&l_224,&l_224},{&g_243,&l_224,&l_224,&l_224,&g_243,&g_243},{&g_243,&l_224,(void*)0,&l_224,&g_243,&l_224}},{{&g_243,&g_243,&l_224,&l_224,&l_224,&l_224},{&g_243,&g_243,&g_243,&g_243,(void*)0,&l_224},{&l_224,&l_224,&l_224,&l_224,&l_224,&l_224},{(void*)0,&l_224,(void*)0,&g_243,&l_224,&g_243},{&l_224,&l_224,&l_224,(void*)0,(void*)0,&l_224}},{{&g_243,&g_243,&g_243,(void*)0,&g_243,&l_224},{&l_224,&g_243,&l_224,&l_224,&l_224,&g_243},{&l_224,&l_224,&l_224,&g_243,&g_243,&l_224},{(void*)0,&g_243,&g_243,&g_243,&g_243,(void*)0},{&g_243,&g_243,(void*)0,&l_224,&g_243,&l_224}},{{&l_224,&l_224,&l_224,&l_224,&l_224,&g_243},{&l_224,&g_243,&l_224,&l_224,&g_243,&g_243},{&g_243,&g_243,&g_243,&g_243,&l_224,&g_243},{(void*)0,&g_243,&l_224,&g_243,&l_224,&g_243},{&l_224,&l_224,&l_224,&l_224,&l_224,&l_224}},{{&l_224,&g_243,(void*)0,&l_224,&l_224,(void*)0},{&g_243,&g_243,&g_243,&l_224,&g_243,&l_224},{&l_224,&g_243,&l_224,&l_224,&l_224,&g_243},{&l_224,&l_224,&l_224,&g_243,&g_243,&l_224},{(void*)0,&g_243,&g_243,&g_243,&g_243,(void*)0}}};
        int16_t *l_246 = &g_247;
        int32_t l_274[4][5][8] = {{{0x9127E7C4L,0x3ACA4A73L,0x9127E7C4L,5L,0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L},{0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L,0x9127E7C4L,0x832DA50AL,0x4788FA9AL,5L},{0x4788FA9AL,0x3ACA4A73L,0xDD630964L,0xDE8A2C71L,0x4788FA9AL,0x43E4FDDBL,0x4788FA9AL,0xDE8A2C71L},{0x9127E7C4L,0x3ACA4A73L,0x9127E7C4L,5L,0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L},{0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L,0x9127E7C4L,0x832DA50AL,0x4788FA9AL,5L}},{{0x4788FA9AL,0x3ACA4A73L,0xDD630964L,0xDE8A2C71L,0x4788FA9AL,0x43E4FDDBL,0x4788FA9AL,0xDE8A2C71L},{0x9127E7C4L,0x3ACA4A73L,0x9127E7C4L,5L,0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L},{0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L,0x9127E7C4L,0x832DA50AL,0x4788FA9AL,5L},{0x4788FA9AL,0x3ACA4A73L,0xDD630964L,0xDE8A2C71L,0x4788FA9AL,0x43E4FDDBL,0x4788FA9AL,0xDE8A2C71L},{0x9127E7C4L,0x3ACA4A73L,0x9127E7C4L,5L,0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L}},{{0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L,0x9127E7C4L,0x832DA50AL,0x4788FA9AL,5L},{0x4788FA9AL,0x3ACA4A73L,0xDD630964L,0xDE8A2C71L,0x4788FA9AL,0x43E4FDDBL,0x4788FA9AL,0xDE8A2C71L},{0x9127E7C4L,0x3ACA4A73L,0x9127E7C4L,5L,0x4788FA9AL,0x832DA50AL,0x9127E7C4L,0xDE8A2C71L},{0x4788FA9AL,0x43E4FDDBL,0xDD630964L,5L,0xDD630964L,0x43E4FDDBL,0x9127E7C4L,0x762700E5L},{0x9127E7C4L,0x832DA50AL,0x4788FA9AL,5L,0x9127E7C4L,0x3ACA4A73L,0x9127E7C4L,5L}},{{0xDD630964L,0x832DA50AL,0xDD630964L,0x762700E5L,0x9127E7C4L,0x43E4FDDBL,0xDD630964L,5L},{0x9127E7C4L,0x43E4FDDBL,0xDD630964L,5L,0xDD630964L,0x43E4FDDBL,0x9127E7C4L,0x762700E5L},{0x9127E7C4L,0x832DA50AL,0x4788FA9AL,5L,0x9127E7C4L,0x3ACA4A73L,0x9127E7C4L,5L},{0xDD630964L,0x832DA50AL,0xDD630964L,0x762700E5L,0x9127E7C4L,0x43E4FDDBL,0xDD630964L,5L},{0x9127E7C4L,0x43E4FDDBL,0xDD630964L,5L,0xDD630964L,0x43E4FDDBL,0x9127E7C4L,0x762700E5L}}};
        int32_t ***l_364 = &g_178;
        int i, j, k;
    }
    for (l_322 = 2; (l_322 >= 0); l_322 -= 1)
    { /* block id: 152 */
        uint8_t **l_420 = &l_111;
        uint8_t **l_421 = &g_162;
        int8_t ***l_422 = (void*)0;
        uint8_t l_449 = 0xC7L;
        const int64_t l_457 = 0L;
        int32_t l_491 = (-4L);
        int32_t l_502 = 0L;
        int32_t l_504 = 0L;
        int32_t l_506 = 0xFB1C3DA5L;
        int32_t l_507[1];
        struct S0 *l_554[7][7][1] = {{{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0}},{{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555}},{{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0}},{{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555}},{{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0}},{{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555}},{{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0},{&g_555},{(void*)0}}};
        uint32_t l_569 = 0UL;
        int64_t *l_601 = &g_361[2];
        uint16_t *l_603 = &l_224;
        int32_t l_604 = 1L;
        uint32_t l_699 = 0x7EABF47AL;
        int64_t l_729 = 7L;
        uint64_t l_730 = 0x90C01F4EF0979E96LL;
        uint8_t * const l_810 = &g_811[2][1];
        uint8_t * const *l_809 = &l_810;
        uint8_t * const **l_808 = &l_809;
        uint8_t * const ***l_807 = &l_808;
        int32_t *l_814 = &l_491;
        int i, j, k;
        for (i = 0; i < 1; i++)
            l_507[i] = 0xDBFF0663L;
    }
    (*g_179) = 0x35E029ECL;
    return (*g_34);
}




/* ---------------------------------------- */
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_12[i], "g_12[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

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

    }
    transparent_crc(g_28, "g_28", print_hash_value);
    transparent_crc(g_29, "g_29", print_hash_value);
    transparent_crc(g_33.f0, "g_33.f0", print_hash_value);
    transparent_crc(g_33.f1, "g_33.f1", print_hash_value);
    transparent_crc(g_33.f2, "g_33.f2", print_hash_value);
    transparent_crc(g_49, "g_49", print_hash_value);
    transparent_crc(g_75, "g_75", print_hash_value);
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 8; j++)
        {
            for (k = 0; k < 8; k++)
            {
                transparent_crc(g_95[i][j][k], "g_95[i][j][k]", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_98, "g_98", print_hash_value);
    transparent_crc(g_102, "g_102", print_hash_value);
    transparent_crc(g_145, "g_145", print_hash_value);
    transparent_crc(g_195, "g_195", print_hash_value);
    transparent_crc(g_225, "g_225", print_hash_value);
    for (i = 0; i < 5; i++)
    {
        transparent_crc(g_228[i].f0, "g_228[i].f0", print_hash_value);
        transparent_crc(g_228[i].f1, "g_228[i].f1", print_hash_value);
        transparent_crc(g_228[i].f2, "g_228[i].f2", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_243, "g_243", print_hash_value);
    transparent_crc(g_247, "g_247", print_hash_value);
    transparent_crc(g_267, "g_267", print_hash_value);
    for (i = 0; i < 6; i++)
    {
        for (j = 0; j < 2; j++)
        {
            transparent_crc(g_273[i][j], "g_273[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

        }
    }
    transparent_crc(g_278.f0, "g_278.f0", print_hash_value);
    transparent_crc(g_278.f1, "g_278.f1", print_hash_value);
    transparent_crc(g_278.f2, "g_278.f2", print_hash_value);
    transparent_crc(g_314, "g_314", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        transparent_crc(g_361[i], "g_361[i]", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

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

            }
        }
    }
    transparent_crc(g_474.f0, "g_474.f0", print_hash_value);
    transparent_crc(g_474.f1, "g_474.f1", print_hash_value);
    transparent_crc(g_474.f2, "g_474.f2", print_hash_value);
    transparent_crc(g_476, "g_476", print_hash_value);
    transparent_crc(g_555.f0, "g_555.f0", print_hash_value);
    transparent_crc(g_555.f1, "g_555.f1", print_hash_value);
    transparent_crc(g_555.f2, "g_555.f2", print_hash_value);
    transparent_crc(g_556.f0, "g_556.f0", print_hash_value);
    transparent_crc(g_556.f1, "g_556.f1", print_hash_value);
    transparent_crc(g_556.f2, "g_556.f2", print_hash_value);
    for (i = 0; i < 1; i++)
    {
        for (j = 0; j < 3; j++)
        {
            for (k = 0; k < 4; k++)
            {
                transparent_crc(g_615[i][j][k].f0.f0, "g_615[i][j][k].f0.f0", print_hash_value);
                transparent_crc(g_615[i][j][k].f0.f1, "g_615[i][j][k].f0.f1", print_hash_value);
                transparent_crc(g_615[i][j][k].f0.f2, "g_615[i][j][k].f0.f2", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_673.f0.f0, "g_673.f0.f0", print_hash_value);
    transparent_crc(g_673.f0.f1, "g_673.f0.f1", print_hash_value);
    transparent_crc(g_673.f0.f2, "g_673.f0.f2", print_hash_value);
    transparent_crc(g_697, "g_697", print_hash_value);
    for (i = 0; i < 9; i++)
    {
        for (j = 0; j < 2; j++)
        {
            transparent_crc(g_714[i][j], "g_714[i][j]", print_hash_value);
            if (print_hash_value) printf("index = [%d][%d]\n", i, j);

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

        }
    }
    transparent_crc(g_881.f0.f0, "g_881.f0.f0", print_hash_value);
    transparent_crc(g_881.f0.f1, "g_881.f0.f1", print_hash_value);
    transparent_crc(g_881.f0.f2, "g_881.f0.f2", print_hash_value);
    transparent_crc(g_917.f0, "g_917.f0", print_hash_value);
    transparent_crc(g_917.f1, "g_917.f1", print_hash_value);
    transparent_crc(g_917.f2, "g_917.f2", print_hash_value);
    transparent_crc(g_984, "g_984", print_hash_value);
    transparent_crc(g_1002, "g_1002", print_hash_value);
    transparent_crc(g_1015.f0.f0, "g_1015.f0.f0", print_hash_value);
    transparent_crc(g_1015.f0.f1, "g_1015.f0.f1", print_hash_value);
    transparent_crc(g_1015.f0.f2, "g_1015.f0.f2", print_hash_value);
    transparent_crc(g_1050, "g_1050", print_hash_value);
    transparent_crc(g_1145.f0, "g_1145.f0", print_hash_value);
    transparent_crc(g_1145.f1, "g_1145.f1", print_hash_value);
    transparent_crc(g_1145.f2, "g_1145.f2", print_hash_value);
    transparent_crc(g_1219.f0, "g_1219.f0", print_hash_value);
    transparent_crc(g_1219.f1, "g_1219.f1", print_hash_value);
    transparent_crc(g_1219.f2, "g_1219.f2", print_hash_value);
    transparent_crc(g_1231.f0.f0, "g_1231.f0.f0", print_hash_value);
    transparent_crc(g_1231.f0.f1, "g_1231.f0.f1", print_hash_value);
    transparent_crc(g_1231.f0.f2, "g_1231.f0.f2", print_hash_value);
    transparent_crc(g_1249.f0.f0, "g_1249.f0.f0", print_hash_value);
    transparent_crc(g_1249.f0.f1, "g_1249.f0.f1", print_hash_value);
    transparent_crc(g_1249.f0.f2, "g_1249.f0.f2", print_hash_value);
    transparent_crc(g_1250.f0.f0, "g_1250.f0.f0", print_hash_value);
    transparent_crc(g_1250.f0.f1, "g_1250.f0.f1", print_hash_value);
    transparent_crc(g_1250.f0.f2, "g_1250.f0.f2", print_hash_value);
    for (i = 0; i < 1; i++)
    {
        transparent_crc(g_1267[i].f0, "g_1267[i].f0", print_hash_value);
        transparent_crc(g_1267[i].f1, "g_1267[i].f1", print_hash_value);
        transparent_crc(g_1267[i].f2, "g_1267[i].f2", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_1330, "g_1330", print_hash_value);
    for (i = 0; i < 8; i++)
    {
        for (j = 0; j < 8; j++)
        {
            for (k = 0; k < 1; k++)
            {
                transparent_crc(g_1349[i][j][k].f0, "g_1349[i][j][k].f0", print_hash_value);
                transparent_crc(g_1349[i][j][k].f1, "g_1349[i][j][k].f1", print_hash_value);
                transparent_crc(g_1349[i][j][k].f2, "g_1349[i][j][k].f2", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_1470.f0, "g_1470.f0", print_hash_value);
    transparent_crc(g_1470.f1, "g_1470.f1", print_hash_value);
    transparent_crc(g_1470.f2, "g_1470.f2", print_hash_value);
    transparent_crc(g_1590.f0, "g_1590.f0", print_hash_value);
    transparent_crc(g_1590.f1, "g_1590.f1", print_hash_value);
    transparent_crc(g_1590.f2, "g_1590.f2", print_hash_value);
    transparent_crc(g_1628.f0.f0, "g_1628.f0.f0", print_hash_value);
    transparent_crc(g_1628.f0.f1, "g_1628.f0.f1", print_hash_value);
    transparent_crc(g_1628.f0.f2, "g_1628.f0.f2", print_hash_value);
    transparent_crc(g_1659.f0, "g_1659.f0", print_hash_value);
    transparent_crc(g_1659.f1, "g_1659.f1", print_hash_value);
    transparent_crc(g_1659.f2, "g_1659.f2", print_hash_value);
    for (i = 0; i < 10; i++)
    {
        transparent_crc(g_1735[i].f0.f0, "g_1735[i].f0.f0", print_hash_value);
        transparent_crc(g_1735[i].f0.f1, "g_1735[i].f0.f1", print_hash_value);
        transparent_crc(g_1735[i].f0.f2, "g_1735[i].f0.f2", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_1743.f0.f0, "g_1743.f0.f0", print_hash_value);
    transparent_crc(g_1743.f0.f1, "g_1743.f0.f1", print_hash_value);
    transparent_crc(g_1743.f0.f2, "g_1743.f0.f2", print_hash_value);
    transparent_crc(g_1767, "g_1767", print_hash_value);
    transparent_crc(g_1790.f0.f0, "g_1790.f0.f0", print_hash_value);
    transparent_crc(g_1790.f0.f1, "g_1790.f0.f1", print_hash_value);
    transparent_crc(g_1790.f0.f2, "g_1790.f0.f2", print_hash_value);
    transparent_crc(g_1814.f0.f0, "g_1814.f0.f0", print_hash_value);
    transparent_crc(g_1814.f0.f1, "g_1814.f0.f1", print_hash_value);
    transparent_crc(g_1814.f0.f2, "g_1814.f0.f2", print_hash_value);
    for (i = 0; i < 6; i++)
    {
        transparent_crc(g_1823[i].f0.f0, "g_1823[i].f0.f0", print_hash_value);
        transparent_crc(g_1823[i].f0.f1, "g_1823[i].f0.f1", print_hash_value);
        transparent_crc(g_1823[i].f0.f2, "g_1823[i].f0.f2", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_1829, "g_1829", print_hash_value);
    transparent_crc(g_1831, "g_1831", print_hash_value);
    transparent_crc(g_1856.f0.f0, "g_1856.f0.f0", print_hash_value);
    transparent_crc(g_1856.f0.f1, "g_1856.f0.f1", print_hash_value);
    transparent_crc(g_1856.f0.f2, "g_1856.f0.f2", print_hash_value);
    transparent_crc(g_1907, "g_1907", print_hash_value);
    transparent_crc(g_1920.f0, "g_1920.f0", print_hash_value);
    transparent_crc(g_1920.f1, "g_1920.f1", print_hash_value);
    transparent_crc(g_1920.f2, "g_1920.f2", print_hash_value);
    transparent_crc(g_1939.f0, "g_1939.f0", print_hash_value);
    transparent_crc(g_1939.f1, "g_1939.f1", print_hash_value);
    transparent_crc(g_1939.f2, "g_1939.f2", print_hash_value);
    transparent_crc(g_1995, "g_1995", print_hash_value);
    transparent_crc(g_2053.f0.f0, "g_2053.f0.f0", print_hash_value);
    transparent_crc(g_2053.f0.f1, "g_2053.f0.f1", print_hash_value);
    transparent_crc(g_2053.f0.f2, "g_2053.f0.f2", print_hash_value);
    transparent_crc(g_2106, "g_2106", print_hash_value);
    transparent_crc(g_2112, "g_2112", print_hash_value);
    transparent_crc(g_2115, "g_2115", print_hash_value);
    transparent_crc(g_2143, "g_2143", print_hash_value);
    transparent_crc(g_2144, "g_2144", print_hash_value);
    transparent_crc(g_2149.f0, "g_2149.f0", print_hash_value);
    transparent_crc(g_2149.f1, "g_2149.f1", print_hash_value);
    transparent_crc(g_2149.f2, "g_2149.f2", print_hash_value);
    transparent_crc(g_2253.f0, "g_2253.f0", print_hash_value);
    transparent_crc(g_2253.f1, "g_2253.f1", print_hash_value);
    transparent_crc(g_2253.f2, "g_2253.f2", print_hash_value);
    transparent_crc(g_2267, "g_2267", print_hash_value);
    transparent_crc(g_2304.f0.f0, "g_2304.f0.f0", print_hash_value);
    transparent_crc(g_2304.f0.f1, "g_2304.f0.f1", print_hash_value);
    transparent_crc(g_2304.f0.f2, "g_2304.f0.f2", print_hash_value);
    for (i = 0; i < 7; i++)
    {
        transparent_crc(g_2325[i].f0, "g_2325[i].f0", print_hash_value);
        transparent_crc(g_2325[i].f1, "g_2325[i].f1", print_hash_value);
        transparent_crc(g_2325[i].f2, "g_2325[i].f2", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 6; j++)
        {
            for (k = 0; k < 5; k++)
            {
                transparent_crc(g_2376[i][j][k].f0.f0, "g_2376[i][j][k].f0.f0", print_hash_value);
                transparent_crc(g_2376[i][j][k].f0.f1, "g_2376[i][j][k].f0.f1", print_hash_value);
                transparent_crc(g_2376[i][j][k].f0.f2, "g_2376[i][j][k].f0.f2", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_2393.f0, "g_2393.f0", print_hash_value);
    transparent_crc(g_2393.f1, "g_2393.f1", print_hash_value);
    transparent_crc(g_2393.f2, "g_2393.f2", print_hash_value);
    transparent_crc(g_2444.f0.f0, "g_2444.f0.f0", print_hash_value);
    transparent_crc(g_2444.f0.f1, "g_2444.f0.f1", print_hash_value);
    transparent_crc(g_2444.f0.f2, "g_2444.f0.f2", print_hash_value);
    transparent_crc(g_2488, "g_2488", print_hash_value);
    transparent_crc(g_2539.f0, "g_2539.f0", print_hash_value);
    transparent_crc(g_2539.f1, "g_2539.f1", print_hash_value);
    transparent_crc(g_2539.f2, "g_2539.f2", print_hash_value);
    transparent_crc(g_2660.f0, "g_2660.f0", print_hash_value);
    transparent_crc(g_2660.f1, "g_2660.f1", print_hash_value);
    transparent_crc(g_2660.f2, "g_2660.f2", print_hash_value);
    transparent_crc(g_2663.f0.f0, "g_2663.f0.f0", print_hash_value);
    transparent_crc(g_2663.f0.f1, "g_2663.f0.f1", print_hash_value);
    transparent_crc(g_2663.f0.f2, "g_2663.f0.f2", print_hash_value);
    transparent_crc(g_2666.f0, "g_2666.f0", print_hash_value);
    transparent_crc(g_2666.f1, "g_2666.f1", print_hash_value);
    transparent_crc(g_2666.f2, "g_2666.f2", print_hash_value);
    transparent_crc(g_2762.f0.f0, "g_2762.f0.f0", print_hash_value);
    transparent_crc(g_2762.f0.f1, "g_2762.f0.f1", print_hash_value);
    transparent_crc(g_2762.f0.f2, "g_2762.f0.f2", print_hash_value);
    transparent_crc(g_2797.f0, "g_2797.f0", print_hash_value);
    transparent_crc(g_2797.f1, "g_2797.f1", print_hash_value);
    transparent_crc(g_2797.f2, "g_2797.f2", print_hash_value);
    transparent_crc(g_2807.f0.f0, "g_2807.f0.f0", print_hash_value);
    transparent_crc(g_2807.f0.f1, "g_2807.f0.f1", print_hash_value);
    transparent_crc(g_2807.f0.f2, "g_2807.f0.f2", print_hash_value);
    transparent_crc(g_2857, "g_2857", print_hash_value);
    transparent_crc(g_2872.f0, "g_2872.f0", print_hash_value);
    transparent_crc(g_2872.f1, "g_2872.f1", print_hash_value);
    transparent_crc(g_2872.f2, "g_2872.f2", print_hash_value);
    transparent_crc(g_2874.f0, "g_2874.f0", print_hash_value);
    transparent_crc(g_2874.f1, "g_2874.f1", print_hash_value);
    transparent_crc(g_2874.f2, "g_2874.f2", print_hash_value);
    transparent_crc(g_2876.f0, "g_2876.f0", print_hash_value);
    transparent_crc(g_2876.f1, "g_2876.f1", print_hash_value);
    transparent_crc(g_2876.f2, "g_2876.f2", print_hash_value);
    transparent_crc(g_2877.f0, "g_2877.f0", print_hash_value);
    transparent_crc(g_2877.f1, "g_2877.f1", print_hash_value);
    transparent_crc(g_2877.f2, "g_2877.f2", print_hash_value);
    transparent_crc(g_2883.f0, "g_2883.f0", print_hash_value);
    transparent_crc(g_2883.f1, "g_2883.f1", print_hash_value);
    transparent_crc(g_2883.f2, "g_2883.f2", print_hash_value);
    transparent_crc(g_2884.f0, "g_2884.f0", print_hash_value);
    transparent_crc(g_2884.f1, "g_2884.f1", print_hash_value);
    transparent_crc(g_2884.f2, "g_2884.f2", print_hash_value);
    transparent_crc(g_2979, "g_2979", print_hash_value);
    transparent_crc(g_3045.f0, "g_3045.f0", print_hash_value);
    transparent_crc(g_3045.f1, "g_3045.f1", print_hash_value);
    transparent_crc(g_3045.f2, "g_3045.f2", print_hash_value);
    transparent_crc(g_3055.f0, "g_3055.f0", print_hash_value);
    transparent_crc(g_3055.f1, "g_3055.f1", print_hash_value);
    transparent_crc(g_3055.f2, "g_3055.f2", print_hash_value);
    transparent_crc(g_3097.f0.f0, "g_3097.f0.f0", print_hash_value);
    transparent_crc(g_3097.f0.f1, "g_3097.f0.f1", print_hash_value);
    transparent_crc(g_3097.f0.f2, "g_3097.f0.f2", print_hash_value);
    for (i = 0; i < 10; i++)
    {
        transparent_crc(g_3124[i].f0, "g_3124[i].f0", print_hash_value);
        transparent_crc(g_3124[i].f1, "g_3124[i].f1", print_hash_value);
        transparent_crc(g_3124[i].f2, "g_3124[i].f2", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_3191, "g_3191", print_hash_value);
    transparent_crc(g_3223.f0, "g_3223.f0", print_hash_value);
    transparent_crc(g_3223.f1, "g_3223.f1", print_hash_value);
    transparent_crc(g_3223.f2, "g_3223.f2", print_hash_value);
    transparent_crc(g_3359.f0, "g_3359.f0", print_hash_value);
    transparent_crc(g_3359.f1, "g_3359.f1", print_hash_value);
    transparent_crc(g_3359.f2, "g_3359.f2", print_hash_value);
    transparent_crc(g_3379.f0.f0, "g_3379.f0.f0", print_hash_value);
    transparent_crc(g_3379.f0.f1, "g_3379.f0.f1", print_hash_value);
    transparent_crc(g_3379.f0.f2, "g_3379.f0.f2", print_hash_value);
    transparent_crc(g_3417, "g_3417", print_hash_value);
    for (i = 0; i < 9; i++)
    {
        for (j = 0; j < 5; j++)
        {
            for (k = 0; k < 2; k++)
            {
                transparent_crc(g_3418[i][j][k].f0, "g_3418[i][j][k].f0", print_hash_value);
                transparent_crc(g_3418[i][j][k].f1, "g_3418[i][j][k].f1", print_hash_value);
                transparent_crc(g_3418[i][j][k].f2, "g_3418[i][j][k].f2", print_hash_value);
                if (print_hash_value) printf("index = [%d][%d][%d]\n", i, j, k);

            }
        }
    }
    transparent_crc(g_3586, "g_3586", print_hash_value);
    transparent_crc(g_3654, "g_3654", print_hash_value);
    for (i = 0; i < 2; i++)
    {
        transparent_crc(g_3693[i].f0, "g_3693[i].f0", print_hash_value);
        transparent_crc(g_3693[i].f1, "g_3693[i].f1", print_hash_value);
        transparent_crc(g_3693[i].f2, "g_3693[i].f2", print_hash_value);
        if (print_hash_value) printf("index = [%d]\n", i);

    }
    transparent_crc(g_3711, "g_3711", print_hash_value);
    transparent_crc(g_3772, "g_3772", print_hash_value);
    transparent_crc(g_3792, "g_3792", print_hash_value);
    transparent_crc(g_3912, "g_3912", print_hash_value);
    platform_main_end(crc32_context ^ 0xFFFFFFFFUL, print_hash_value);
    return 0;
}

/************************ statistics *************************
XXX max struct depth: 1
breakdown:
   depth: 0, occurrence: 925
   depth: 1, occurrence: 26
XXX total union variables: 21

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: 51
breakdown:
   depth: 1, occurrence: 269
   depth: 2, occurrence: 68
   depth: 3, occurrence: 7
   depth: 4, occurrence: 2
   depth: 5, occurrence: 3
   depth: 6, occurrence: 1
   depth: 7, occurrence: 2
   depth: 10, occurrence: 2
   depth: 11, occurrence: 2
   depth: 12, occurrence: 2
   depth: 14, occurrence: 4
   depth: 15, occurrence: 6
   depth: 16, occurrence: 2
   depth: 17, occurrence: 5
   depth: 18, occurrence: 1
   depth: 19, occurrence: 4
   depth: 20, occurrence: 1
   depth: 21, occurrence: 4
   depth: 22, occurrence: 1
   depth: 23, occurrence: 3
   depth: 24, occurrence: 2
   depth: 26, occurrence: 3
   depth: 28, occurrence: 1
   depth: 30, occurrence: 3
   depth: 31, occurrence: 1
   depth: 32, occurrence: 2
   depth: 33, occurrence: 1
   depth: 34, occurrence: 1
   depth: 35, occurrence: 3
   depth: 36, occurrence: 1
   depth: 38, occurrence: 1
   depth: 41, occurrence: 1
   depth: 51, occurrence: 1

XXX total number of pointers: 915

XXX times a variable address is taken: 2234
XXX times a pointer is dereferenced on RHS: 522
breakdown:
   depth: 1, occurrence: 348
   depth: 2, occurrence: 108
   depth: 3, occurrence: 46
   depth: 4, occurrence: 19
   depth: 5, occurrence: 1
XXX times a pointer is dereferenced on LHS: 559
breakdown:
   depth: 1, occurrence: 435
   depth: 2, occurrence: 79
   depth: 3, occurrence: 35
   depth: 4, occurrence: 7
   depth: 5, occurrence: 3
XXX times a pointer is compared with null: 67
XXX times a pointer is compared with address of another variable: 29
XXX times a pointer is compared with another pointer: 26
XXX times a pointer is qualified to be dereferenced: 11658

XXX max dereference level: 5
breakdown:
   level: 0, occurrence: 0
   level: 1, occurrence: 2299
   level: 2, occurrence: 762
   level: 3, occurrence: 474
   level: 4, occurrence: 138
   level: 5, occurrence: 19
XXX number of pointers point to pointers: 394
XXX number of pointers point to scalars: 485
XXX number of pointers point to structs: 25
XXX percent of pointers has null in alias set: 31.3
XXX average alias set size: 1.57

XXX times a non-volatile is read: 3220
XXX times a non-volatile is write: 1630
XXX times a volatile is read: 214
XXX    times read thru a pointer: 26
XXX times a volatile is write: 95
XXX    times written thru a pointer: 60
XXX times a volatile is available for access: 3.37e+03
XXX percentage of non-volatile access: 94

XXX forward jumps: 1
XXX backward jumps: 13

XXX stmts: 268
XXX max block depth: 5
breakdown:
   depth: 0, occurrence: 34
   depth: 1, occurrence: 35
   depth: 2, occurrence: 44
   depth: 3, occurrence: 43
   depth: 4, occurrence: 53
   depth: 5, occurrence: 59

XXX percentage a fresh-made variable is used: 16.9
XXX percentage an existing variable is used: 83.1
********************* end of statistics **********************/