// MARKERS START

// MARKERS END
//  Options:   --max-funcs 5 --no-checksum --concise --max-block-depth 4
//  --max-array-dim 2
#include "csmith.h"

volatile uint64_t csmith_sink_ = 0;

static long __undefined;

struct S0 {
  volatile signed f0 : 4;
};

#pragma pack(push)
#pragma pack(1)
struct S1 {
  signed f0 : 1;
};
#pragma pack(pop)

static int32_t g_6 = 0x849F845DL;
static uint16_t g_8 = 0x310FL;
static int32_t g_9 = 0xDCA8FECFL;
static int32_t g_27 = 1L;
static volatile uint64_t g_28 = 0x81C1D99EA5D840DFLL;
static volatile int16_t g_32 = 0x0509L;
static int16_t g_33 = 1L;
static int8_t g_35 = 0x06L;
static uint32_t g_36 = 0xE76DCB0CL;
static int32_t *g_44 = &g_6;
static int32_t **volatile g_43[5][3] = {{&g_44, &g_44, &g_44},
                                        {&g_44, &g_44, &g_44},
                                        {&g_44, &g_44, &g_44},
                                        {&g_44, &g_44, &g_44},
                                        {&g_44, &g_44, &g_44}};
static int64_t g_72 = 0x98B2365B212F019DLL;
static int16_t g_75 = (-6L);
static volatile uint16_t *g_77 = (void *)0;
static int32_t *volatile g_79 = &g_27;
static int32_t **g_84[8] = {&g_44, &g_44, &g_44, &g_44,
                            &g_44, &g_44, &g_44, &g_44};
static int32_t ***g_83 = &g_84[2];
static uint16_t g_86[6][3] = {{0x82E5L, 0x4023L, 0x4023L}, {4UL, 1UL, 1UL},
                              {0x82E5L, 0x4023L, 0x4023L}, {4UL, 1UL, 1UL},
                              {0x82E5L, 0x4023L, 0x4023L}, {4UL, 1UL, 1UL}};
static uint64_t g_111 = 1UL;
static int32_t **volatile *volatile g_119 = &g_84[7];
static int32_t **volatile *volatile *g_118 = &g_119;
static int32_t **volatile *volatile **const volatile g_117[6] = {
    &g_118, &g_118, &g_118, &g_118, &g_118, &g_118};
static int32_t **volatile *volatile **volatile g_120 = (void *)0;
static volatile uint16_t g_129 = 0x77FBL;
static volatile struct S0 g_132 = {-2};
static volatile struct S0 *volatile g_133 = (void *)0;
static volatile struct S0 *volatile g_134 = &g_132;
static int32_t *const volatile g_135 = &g_27;
static uint16_t g_153[8] = {8UL, 9UL, 9UL, 8UL, 9UL, 9UL, 8UL, 9UL};
static int8_t g_156 = 5L;
static struct S0 g_157 = {0};
static struct S0 *volatile g_158 = &g_157;
static struct S1 g_161 = {0};
static volatile int8_t g_174 = 5L;

static struct S0 func_1(void);
static int16_t func_10(int32_t *p_11, const int16_t p_12, uint32_t p_13,
                       uint32_t p_14, uint16_t p_15);
static int32_t *func_16(struct S1 p_17, uint16_t *const p_18, uint16_t *p_19,
                        uint16_t p_20);
static uint16_t *const func_22(int8_t p_23);
static int32_t func_39(int32_t *p_40);

static struct S0 func_1(void) {
  const uint64_t l_4[3][7] = {{4UL, 4UL, 4UL, 4UL, 4UL, 4UL, 4UL},
                              {4UL, 4UL, 4UL, 4UL, 4UL, 4UL, 4UL},
                              {4UL, 4UL, 4UL, 4UL, 4UL, 4UL, 4UL}};
  int32_t *l_5 = &g_6;
  struct S1 l_21 = {0};
  uint16_t *l_87 = &g_86[2][1];
  int32_t ****l_163 = &g_83;
  int32_t l_173[6];
  uint32_t l_175 = 0xC82483C1L;
  int8_t **l_178 = (void *)0;
  int i, j;
  for (i = 0; i < 6; i++) {
  }
  if (((*l_5) = (safe_mod_func_int32_t_s_s((-10L), l_4[1][6])))) {

    uint16_t *l_7[5][9] = {
        {&g_8, &g_8, &g_8, &g_8, &g_8, &g_8, &g_8, &g_8, &g_8},
        {&g_8, &g_8, &g_8, (void *)0, &g_8, &g_8, &g_8, (void *)0, &g_8},
        {&g_8, &g_8, &g_8, &g_8, &g_8, &g_8, &g_8, &g_8, &g_8},
        {(void *)0, &g_8, (void *)0, &g_8, &g_8, (void *)0, &g_8, (void *)0,
         &g_8},
        {(void *)0, &g_8, &g_8, (void *)0, (void *)0, (void *)0, &g_8, &g_8,
         (void *)0}};
    const uint64_t l_162[4][5] = {
        {0x36D73F18804D5930LL, 0x36D73F18804D5930LL, 0UL, 0x0D3EF5034E9F7E8ELL,
         0xCC771BE40E7BB6F3LL},
        {0x1BE54454DEAE50A2LL, 0x23B5FEB66E786C87LL, 0x23B5FEB66E786C87LL,
         0x1BE54454DEAE50A2LL, 0x36D73F18804D5930LL},
        {0x1BE54454DEAE50A2LL, 0x0D3EF5034E9F7E8ELL, 0x37329A51642E7455LL,
         0x37329A51642E7455LL, 0x0D3EF5034E9F7E8ELL},
        {0x36D73F18804D5930LL, 0x23B5FEB66E786C87LL, 0x37329A51642E7455LL, 0UL,
         0UL}};
    int i, j;
    (*l_5) = ((g_6 >= ((g_9 ^= (g_8 = 9UL)) |
                       func_10(func_16(l_21, func_22(g_6), l_87, g_86[0][0]),
                               g_86[0][0], (*l_5), (*l_5), g_86[0][0]))) !=
              l_162[1][1]);
  } else {

    uint8_t l_168 = 0x7AL;
    int8_t *l_169 = &g_156;
    uint32_t l_170 = 0x0C7C7AF3L;
    int32_t *l_171[10] = {&g_6, &g_9, &g_6, &g_9, &g_6,
                          &g_9, &g_6, &g_9, &g_6, &g_9};
    int16_t l_172 = 0L;
    int8_t ***l_179 = &l_178;
    int i;
    (***g_83) = ((void *)0 == l_163);
    l_21.f0 &=
        (((g_72 || (safe_rshift_func_int8_t_s_u(
                       ((safe_lshift_func_int8_t_s_s(((*l_169) = l_168), 3)),
                        (((**l_163) == (**l_163)) >= (****l_163))),
                       4))) ||
          l_170) |
         ((g_35 && (((void *)0 != (*l_163)), (*l_5))) < 0x5ADCE77DL));
    --l_175;
    (*l_179) = l_178;
  }
  return (*g_158);
}

static int16_t func_10(int32_t *p_11, const int16_t p_12, uint32_t p_13,
                       uint32_t p_14, uint16_t p_15) {
  uint32_t l_144 = 0UL;
  int32_t ****l_147 = (void *)0;
  int32_t *****l_148 = (void *)0;
  int32_t ****l_150 = &g_83;
  int32_t *****l_149 = &l_150;
  int16_t *l_151[6][3] = {{&g_33, &g_75, &g_33}, {&g_33, &g_33, &g_33},
                          {&g_33, &g_75, &g_33}, {&g_33, &g_33, &g_33},
                          {&g_33, &g_75, &g_33}, {&g_33, &g_33, &g_33}};
  uint16_t *l_152 = &g_153[0];
  struct S1 l_159 = {0};
  struct S1 *l_160 = &l_159;
  int i, j;
  (*g_158) =
      ((safe_sub_func_int8_t_s_s(
           (((safe_div_func_int8_t_s_s(
                 ((((safe_sub_func_int64_t_s_s(
                        ((safe_rshift_func_uint8_t_u_s(g_86[5][2], l_144)) >=
                         (((safe_sub_func_uint16_t_u_u(
                               p_13,
                               (g_33 &= (l_147 != ((*l_149) = &g_83))))) >=
                           ((void *)0 == (**g_119))) >=
                          ((g_27, ((*l_152)++)) < (g_156 = g_6)))),
                        g_75)) ^
                    g_72) &
                   (*g_44)) != g_36),
                 0x7EL)) < 255UL) &&
            g_6),
           g_86[0][0])),
       g_157);
  g_161 = ((*l_160) = l_159);
  return p_14;
}

static int32_t *func_16(struct S1 p_17, uint16_t *const p_18, uint16_t *p_19,
                        uint16_t p_20) {
  int32_t *l_101 = &g_27;
  int32_t *l_102 = &g_6;
  int32_t l_115 = 0xCD9B7196L;
  int32_t l_116 = 1L;
  int32_t l_123 = (-1L);
  int32_t l_124 = 0x3A15A7CFL;
  int32_t l_125 = (-5L);
  int64_t l_126 = (-8L);
  int32_t l_127 = 0xC8F7CEBBL;
  int32_t l_128[2];
  int i;
  for (i = 0; i < 2; i++) {

    l_128[i] = 0x506916A6L;
  }
  for (g_72 = 0; (g_72 <= 7); g_72 = safe_add_func_uint8_t_u_u(g_72, 6)) {

    int32_t *l_100 = &g_6;
    int32_t **l_103 = (void *)0;
    int32_t **l_104 = &l_102;
    uint64_t *l_109 = (void *)0;
    uint64_t *l_110 = &g_111;
    int16_t *l_112 = (void *)0;
    int16_t *l_113[8] = {&g_33, &g_33, &g_33, &g_33,
                         &g_33, &g_33, &g_33, &g_33};
    int8_t l_114 = (-1L);
    int32_t *l_121 = &g_27;
    int32_t *l_122[1];
    int i;
    for (i = 0; i < 1; i++) {
    }
    l_116 ^=
        ((safe_lshift_func_uint8_t_u_u(
             ((g_86[0][0] |
               (safe_add_func_int8_t_s_s(
                   (safe_div_func_uint16_t_u_u(
                       (safe_rshift_func_int16_t_s_u(
                           (l_114 &=
                            (g_33 = (safe_mul_func_uint16_t_u_u(
                                 ((l_101 = l_100) != ((*l_104) = l_102)),
                                 (((*l_110) = (((((safe_add_func_int8_t_s_s(
                                                      g_86[0][1],
                                                      ((g_36 ==
                                                        ((((void *)0 == &p_20) ^
                                                          ((void *)0 == p_19)) >
                                                         65531UL)),
                                                       g_86[0][0]))) != g_6) ==
                                                 253UL) &&
                                                (*p_18)) > p_20)) &&
                                  g_6))))),
                           9)),
                       0x5E5FL)),
                   p_20))) &&
              g_27),
             g_27)) &
         l_115);
    g_120 = g_117[5];
    ++g_129;
    (*g_134) = g_132;
  }
  (*g_135) = p_17.f0;
  return (***g_118);
}

static uint16_t *const func_22(int8_t p_23) {
  int16_t l_31 = 0x91CBL;
  int32_t l_34[2][10] = {
      {0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL,
       0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL},
      {0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL,
       0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL, 0x1F9531DEL}};
  int32_t **l_81 = &g_44;
  int32_t ***l_80[4][1] = {{&l_81}, {&l_81}, {&l_81}, {&l_81}};
  int32_t ****l_82[7] = {(void *)0,   &l_80[0][0], (void *)0, (void *)0,
                         &l_80[0][0], (void *)0,   (void *)0};
  uint16_t *const l_85 = &g_86[0][0];
  int i, j;
  for (p_23 = 0; (p_23 <= (-7)); p_23--) {

    int32_t *l_26[2][4] = {{&g_27, &g_27, &g_27, &g_27},
                           {&g_27, (void *)0, (void *)0, &g_27}};
    int i, j;
    ++g_28;
    ++g_36;
    for (g_32 = 0; g_32 < 2; g_32 += 1) {

      for (g_28 = 0; g_28 < 10; g_28 += 1) {

        l_34[g_32][g_28] = (-3L);
      }
    }
  }
  (*g_79) = func_39(&g_27);
  g_83 = l_80[0][0];
  return l_85;
}

static int32_t func_39(int32_t *p_40) {
  int32_t l_48 = 0L;
  int32_t l_73 = 0x2B152D5FL;
  int16_t *l_74 = &g_75;
  int32_t l_76[8] = {0x2D2C906CL, (-8L),       0x2D2C906CL, 0x2D2C906CL,
                     (-8L),       0x2D2C906CL, 0x2D2C906CL, (-8L)};
  int32_t l_78[4];
  int i;
  for (i = 0; i < 4; i++) {

    l_78[i] = 0x99E8488EL;
  }
  for (g_33 = 12; (g_33 <= (-21)); g_33 = safe_sub_func_int16_t_s_s(g_33, 2)) {

    int32_t **l_45 = (void *)0;
    int32_t **l_46[1][4];
    int32_t *l_47 = &g_27;
    int32_t ***l_49 = (void *)0;
    int32_t ***l_50 = &l_46[0][0];
    int i, j;
    for (i = 0; i < 1; i++) {

      for (j = 0; j < 4; j++) {

        l_46[i][j] = &g_44;
      }
    }
    l_47 = p_40;
    if (l_48) {

      continue;
    }
    p_40 = p_40;
    (*l_50) = &g_44;
  }
  l_78[2] &=
      ((*p_40) ||
       ((((safe_add_func_uint64_t_u_u(
              (l_48 =
                   ((safe_add_func_uint32_t_u_u(
                        (((*p_40) <
                          (safe_rshift_func_uint16_t_u_u(
                              (safe_mul_func_int16_t_s_s(
                                  g_32,
                                  (((safe_mod_func_uint16_t_u_u(
                                        ((safe_add_func_uint32_t_u_u(
                                             (((((-1L) <=
                                                 ((g_33 = (g_6 != g_33)) !=
                                                  ((((*l_74) =
                                                         (l_73 |=
                                                          (safe_div_func_int16_t_s_s(
                                                              (((g_36,
                                                                 (~((l_48 ||
                                                                     ((safe_mod_func_uint16_t_u_u(
                                                                          (((safe_lshift_func_int16_t_s_s(
                                                                                (l_48 >=
                                                                                l_48),
                                                                                g_36)) <=
                                                                            g_72) <=
                                                                           l_48),
                                                                          g_35)) >
                                                                      g_6)),
                                                                    g_6))) |
                                                                g_27) != g_72),
                                                              l_48)))) <=
                                                    0xC719L) == g_27))),
                                                g_75),
                                               g_35) == (-3L)),
                                             l_48)) &&
                                         0xC0L),
                                        l_48)) < g_27) &&
                                   (*g_44)))),
                              l_48))) ^
                         g_27),
                        0x31552AE0L)) >= (*g_44))),
              l_76[2])),
          l_74) == g_77),
        (*p_40)));
  return l_48;
}

int main(int argc, char *argv[]) {
  int i, j;
  int print_hash_value = 0;
  if (argc == 2 && strcmp(argv[1], "1") == 0) {
  }
  platform_main_begin();
  func_1();
  csmith_sink_ = g_6;
  csmith_sink_ = g_8;
  csmith_sink_ = g_9;
  csmith_sink_ = g_27;
  csmith_sink_ = g_28;
  csmith_sink_ = g_32;
  csmith_sink_ = g_33;
  csmith_sink_ = g_35;
  csmith_sink_ = g_36;
  csmith_sink_ = g_72;
  csmith_sink_ = g_75;
  for (i = 0; i < 6; i++) {

    for (j = 0; j < 3; j++) {

      csmith_sink_ = g_86[i][j];
    }
  }
  csmith_sink_ = g_111;
  csmith_sink_ = g_129;
  csmith_sink_ = g_132.f0;
  for (i = 0; i < 8; i++) {

    csmith_sink_ = g_153[i];
  }
  csmith_sink_ = g_156;
  csmith_sink_ = g_157.f0;
  csmith_sink_ = g_161.f0;
  csmith_sink_ = g_174;
  platform_main_end(0, 0);
  return 0;
}