(command.CommandList
  children: [
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Pipeline
                          children: [
                            (C {<grep>} {<-q>} {<-e>} {(DQ ($ Id.VSub_Number '$2'))} 
                              {(DQ ($ Id.VSub_Number '$1'))}
                            )
                          ]
                          negated: T
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ <'Did not find pattern '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\"'>
                          ) ($ Id.VSub_Number '$2') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' in '> 
                          ($ Id.VSub_Number '$1') <':'>
                        )
                      }
                    )
                    (C {<echo>} {(DQ <'   '> ($ Id.VSub_Number '$2'))})
                    (C {<echo>} {(DQ )})
                    (C {<echo>} {(DQ <'Actual disassembly below:'>)})
                    (C {<cat>} {(DQ ($ Id.VSub_Number '$1'))})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [75 94]
                )
              ]
            )
          ]
        )
    )
    (C {<check>} {<arm_unaligned_reloc.stdout>} {(DQ <'^00009000 <x>:'> <Id.Lit_Dollar '$'>)})
    (C {<check>} {<arm_unaligned_reloc.stdout>} {(DQ <'^0000a001 <abs32>:'> <Id.Lit_Dollar '$'>)})
    (C {<check>} {<arm_unaligned_reloc.stdout>} {(SQ <'^[\t ]*a001:[\t ]*00009001[\t ].*$'>)})
    (C {<check>} {<arm_unaligned_reloc.stdout>} {(DQ <'^0000a005 <rel32>:'>)})
    (C {<check>} {<arm_unaligned_reloc.stdout>} 
      {(DQ <'^[\t ]*a005:[\t ]*ffffeffc[\t ].*'> <Id.Lit_Dollar '$'>)}
    )
    (C {<check>} {<arm_unaligned_reloc.stdout>} {(DQ <'^0000a009 <abs16>:'>)})
    (C {<check>} {<arm_unaligned_reloc.stdout>} 
      {(DQ <'^[\t ]*a009:[\t ]*00009001[\t ].*'> <Id.Lit_Dollar '$'>)}
    )
    (C {<check>} {<arm_unaligned_reloc_r.stdout>} 
      {(DQ <'^[\t ]*1:[\t ]*00000001[\t ].*'> <Id.Lit_Dollar '$'>)}
    )
    (C {<check>} {<arm_unaligned_reloc_r.stdout>} 
      {(DQ <'^[\t]*1: R_ARM_ABS32[\t]*.data.0'> <Id.Lit_Dollar '$'>)}
    )
    (C {<check>} {<arm_unaligned_reloc_r.stdout>} 
      {(DQ <'^[\t ]*5:[\t ]*00000001[\t ].*'> <Id.Lit_Dollar '$'>)}
    )
    (C {<check>} {<arm_unaligned_reloc_r.stdout>} 
      {(DQ <'^[\t]*5: R_ARM_REL32[\t]*.data.0'> <Id.Lit_Dollar '$'>)}
    )
    (C {<check>} {<arm_unaligned_reloc_r.stdout>} 
      {(DQ <'^[\t ]*9:[\t ]*00000001[\t ].*'> <Id.Lit_Dollar '$'>)}
    )
    (C {<check>} {<arm_unaligned_reloc_r.stdout>} 
      {(DQ <'^[\t]*9: R_ARM_ABS16[\t]*.data.0'> <Id.Lit_Dollar '$'>)}
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)