The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
typedef struct {

  unsigned long       aa, ab;
  union {

    union {

      struct {

        struct {

          signed char         ac[2][2][1], ad;
          signed char         ae[3];
          struct {

            signed char         af;
            signed long         ag, ah;
            signed long         ai, aj;
            unsigned short      ak;
            unsigned char       al;
            signed short        am;

          };
          signed char         an;
          unsigned short      ao, ap;

        }                   aq[2];
        struct {

          union {

            signed char         ar;
            unsigned long       as, at;
            signed long long    au[3], av[1][3][1];
            signed char         aw;
            unsigned short      ax;
            int                 ay, az, ba;

          };
          struct {

            unsigned short      bb;
            unsigned            bc, bd[1][1];

          };
          struct {

            unsigned char       be;
            unsigned short      bf[3][3][3];
            int                 bg[2][2], bh[1];
            signed long long    bi, bj, bk;

          };

        }                   bl, bm, bn;
        signed short        bo;
        struct {

          struct {

            unsigned short      bp;
            unsigned long       bq[2][3][3], br[2][3];
            int                 bs;
            unsigned char       bt, bu, bv;
            unsigned char       bw;

          };
          union {

            signed char         bx;
            unsigned            by;

          };
          union {

            int                 bz;
            signed char         ca, cb;
            unsigned short      cc, cd;
            unsigned short      ce;
            signed char         cf[2][2], cg, ch;

          };
          struct {

            signed short        ci, cj, ck;
            signed char         cl[3];
            int                 cm;
            unsigned char       cn;
            signed short        co;
            unsigned short      cp[1][3], cq, cr;

          };
          unsigned long long  cs, ct;
          struct {

            signed short        cu[1];
            signed short        cv;
            unsigned long       cw[1], cx;
            signed char         cy;

          }                   cz, da[3];

        };
        struct {

          union {

            unsigned short      db[2], dc;
            unsigned char       dd, de[3][2];

          };
          signed short        df, dg, dh;

        };

      };
      struct {

        union {

          struct {

            unsigned char       di;
            unsigned char       dj;
            signed long         dk, dl, dm;
            unsigned short      dn;
            unsigned char       dp, dq;

          };
          union {

            unsigned long       dr, ds[3][2][1][2];
            signed short        dt, du;
            signed long long    dv;

          };

        };
        union {

          struct {

            unsigned char       dw;
            unsigned short      dx, dy;
            signed char         dz;

          };
          union {

            signed char         ea;
            unsigned short      eb;

          };
          union {

            signed char         ec, ed;
            unsigned char       ee;
            int                 ef[3][1];
            signed short        eg;
            signed short        eh[3][3];
            unsigned            ei, ej;

          };
          struct {

            unsigned            ek, el[3][3];
            unsigned short      em, en;

          }                   eo;
          struct {

            signed char         ep;
            unsigned char       eq, er[2][3];
            signed long         es[2][3];
            signed short        et, eu;

          }                   ev;

        };
        unsigned char       ew[2], ex;
        struct {

          struct {

            signed char         ey[1][1];
            signed long long    ez, fa[1][2];
            unsigned short      fb;
            unsigned long       fc, fd;
            unsigned char       fe[1];

          };
          signed short        ff, fg[3][1];

        };
        unsigned char       fh;
        struct {

          struct {

            unsigned char       fi;
            int                 fj, fk;

          };
          unsigned char       fl;
          signed char         fm;
          union {

            unsigned short      fn;
            unsigned char       fo;
            unsigned short      fp[2], fq[1];
            unsigned long long  fr;

          };
          signed char         fs[3][1][1], ft;
          struct {

            unsigned char       fu;
            signed char         fv;
            unsigned short      fw[2];
            int                 fx;

          };

        };

      };

    };
    unsigned char       fy;
    unsigned long long  fz;
    union {

      struct {

        signed char         ga;
        union {

          union {

            unsigned long long  gb, gc, gd;
            signed short        ge;

          };
          union {

            signed char         gf;
            signed char         gg;
            unsigned short      gh;
            int                 gi, gj[3][1], gk;

          }                   gl;
          unsigned char       gm;
          struct {

            signed short        gn;
            unsigned char       go, gp;
            unsigned short      gq[3][1];
            unsigned short      gr;
            unsigned long long  gs;

          };
          union {

            unsigned char       gt;
            signed short        gu;
            signed short        gv;
            unsigned short      gw, gx[2][1];
            signed char         gy, gz[1];

          }                   ha;
          struct {

            signed char         hb[3][1];
            unsigned short      hc, hd;

          };

        };
        union {

          unsigned long       he[1][3];
          struct {

            unsigned char       hf, hg;
            unsigned char       hh;

          };
          union {

            unsigned short      hi;
            unsigned char       hj;

          };
          unsigned char       hk, hl;

        }                   hm;
        unsigned char       hn, ho;

      };
      unsigned long       hp, hq;
      struct {

        struct {

          signed char         hr, hs, ht;
          union {

            unsigned char       hu[2];
            unsigned char       hv;
            signed short        hw[2];

          }                   hx[2];
          union {

            unsigned char       hy;
            signed short        hz, ia[3][2][3][2];
            int                 ib, ic;
            signed long long    id, ie;
            unsigned char       ig;
            unsigned char       ih, ii;

          };
          signed char         ij, ik, il[2][1];

        };
        signed long         im;
        unsigned char       in, io, ip;
        struct {

          struct {

            signed short        iq[3][1];
            signed short        ir[3][1];
            unsigned long long  is;
            unsigned char       it, iu[3], iv[1][1][1];
            unsigned long long  iw, ix;
            unsigned short      iy, iz;

          };
          struct {

            signed long long    ja;
            signed char         jb[1][3][3][2];
            unsigned            jc;
            unsigned short      jd;

          };
          unsigned short      je;

        }                   jf;

      };

    };
    unsigned char       jg[1][3];

  };
  int                 jh[2];

} test;