(command.AndOr
  ops: [Id.Op_DAmp]
  children: [
    (command.Pipeline
      children: [
        (command.Simple
          words: [{(cat)}]
          redirects: [
            (redir.HereDoc
              op: (Token id:Id.Redir_DLess val:'<<' span_id:12)
              fd: -1
              here_begin: {(DQ (END))}
              here_end_span_id: 63
              stdin_parts: [
                ('int main(void)\n')
                ('{\n')
                ('#if defined(__arm__) || defined(__aarch64__)\n')
                ('\t/*\n')
                ('\t * Not related to asm goto, but used by jump label\n')
                ('\t * and broken on some ARM GCC versions (see GCC Bug 48637).\n')
                ('\t */\n')
                ('\tstatic struct { int dummy; int state; } tp;\n')
                ('\tasm (".long %c0" :: "i" (&tp.state));\n')
                ('#endif\n')
                ('\n')
                ('entry:\n')
                ('\tasm goto ("" :::: entry);\n')
                ('\treturn 0;\n')
                ('}\n')
              ]
            )
          ]
        )
        (command.Simple
          words: [{($ Id.VSub_At '$@')} {(-x)} {(c)} {(-)} {(-c)} {(-o)} {(/dev/null)}]
          redirects: [
            (redir.Redir
              op: (Token id:Id.Redir_Great val:'>' span_id:34)
              fd: -1
              arg_word: {(/dev/null)}
            )
            (redir.Redir
              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:37)
              fd: 2
              arg_word: {(1)}
            )
          ]
        )
      ]
      negated: F
    )
    (C {(echo)} {(DQ (y))})
  ]
)