(CommandList
  children: [
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Pipeline
                      children: [
                        (C {(grep)} {(-q)} {(DQ ($ VSub_Number '$2'))} {(DQ ($ VSub_Number '$1'))})
                      ]
                      negated: T
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ('Did not find expected instruction in ') ($ VSub_Number '$1') (':'))}
                    )
                    (C {(echo)} {(DQ ('   ') ($ VSub_Number '$2'))})
                    (C {(echo)} {(DQ )})
                    (C {(echo)} {(DQ ('Actual instructions below:'))})
                    (C {(cat)} {(DQ ($ VSub_Number '$1'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 88]
                )
              ]
              spids: [16777215 133]
            )
          ]
          spids: [68]
        )
      spids: [64 67]
    )
    (C {(check)} {(arm_farcall_thumb_thumb.stdout)} {(DQ ('1004:\t.*      \tbx\tpc'))})
    (C {(check)} {(arm_farcall_thumb_thumb.stdout)} {(DQ ('1006:\t.*      \tnop'))})
    (C {(check)} {(arm_farcall_thumb_thumb.stdout)} {(DQ ('1008:\tc000'))})
    (C {(check)} {(arm_farcall_thumb_thumb.stdout)} {(DQ ('100a:\te59f'))})
    (C {(check)} {(arm_farcall_thumb_thumb.stdout)} {(DQ ('100c:\tff1c e12f'))})
    (C {(check)} {(arm_farcall_thumb_thumb.stdout)} {(DQ ('1010:\t1015'))})
    (C {(check)} {(arm_farcall_thumb_thumb.stdout)} {(DQ ('1012:\t0200'))})
    (C {(check)} {(arm_farcall_thumb_thumb_5t.stdout)} {(DQ ('1004:\tf004 e51f'))})
    (C {(check)} {(arm_farcall_thumb_thumb_5t.stdout)} {(DQ ('1008:\t1015'))})
    (C {(check)} {(arm_farcall_thumb_thumb_5t.stdout)} {(DQ ('100a:\t0200'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1004:\t.*      \tpush\t{r0}'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} 
      {
        (DQ ('1006:\t.*      \tldr\tr0, ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
          ('[pc, #8') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (']')
        )
      }
    )
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1008:\t.*      \tmov\tip, r0'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('100a:\t.*      \tpop\t{r0}'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('100c:\t.*      \tbx\tip'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('100e:\t.*      \tnop'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1010:\t1015'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1012:\t0200'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1004:\t.*      \tpush\t{r0}'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} 
      {
        (DQ ('1006:\t.*      \tldr\tr0, ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
          ('[pc, #8') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (']')
        )
      }
    )
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1008:\t.*      \tmov\tip, r0'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('100a:\t.*      \tpop\t{r0}'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('100c:\t.*      \tbx\tip'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('100e:\t.*      \tnop'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1010:\t1015'))})
    (C {(check)} {(arm_farcall_thumb_thumb_6m.stdout)} {(DQ ('1012:\t0200'))})
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)