(CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (FuncDef
      name: install
      body: 
        (BraceGroup
          children: [
            (C {(sudo)} {(apt)} {(install)} {(linux-tools-common)} {(linux-tools-4.13.0-36-generic)} 
              {(linux-tools-generic)}
            )
          ]
          spids: [75]
        )
      spids: [71 74]
    )
    (FuncDef
      name: debug-symbols
      body: 
        (BraceGroup
          children: [
            (C {(sudo)} {(apt)} {(install)} {(zlib1g-dbg)})
            (C {(dpkg)} {(--listfiles)} {(zlib1g-dbg)})
          ]
          spids: [105]
        )
      spids: [101 104]
    )
    (FuncDef
      name: _record
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:flag) op:Equal rhs:{(SQ <-g>)} spids:[298])]
              spids: [296]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bin)
                  op: Equal
                  rhs: {(_bin/oil.ovm-opt)}
                  spids: [306]
                )
              ]
              spids: [304]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:freq) op:Equal rhs:{(1000)} spids:[318])]
              spids: [316]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {(benchmarks/testdata/configure-coreutils)}
                  spids: [333]
                )
              ]
              spids: [331]
            )
            (TimeBlock
              pipeline: 
                (C {(perf)} {(record)} {($ VSub_Name '$flag')} {(-F)} {($ VSub_Name '$freq')} {(-o)} 
                  {(perf.data)} {(--)} {($ VSub_Name '$bin')} {(osh)} {(--ast-format)} {(none)} {(-n)} {($ VSub_Name '$file')}
                )
            )
          ]
          spids: [267]
        )
      spids: [263 266]
    )
    (FuncDef
      name: record
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(sudo)} {($ VSub_Number '$0')} {(_record)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [381]
        )
      spids: [377 380]
    )
    (FuncDef
      name: report
      body: 
        (BraceGroup
          children: [(C {(perf)} {(report)} {(-n)} {(--stdio)} {(DQ ($ VSub_At '$@'))})]
          spids: [414]
        )
      spids: [410 413]
    )
    (FuncDef
      name: _make-readable
      body: 
        (BraceGroup
          children: [
            (C {(chmod)} {(644)} {(perf.data)})
            (C {(chown)} {(andy)} {(perf.data)})
            (C {(file)} {(perf.data)})
            (C {(ls)} {(-l)} {(perf.data)})
          ]
          spids: [436]
        )
      spids: [432 435]
    )
    (FuncDef
      name: make-readable
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(sudo)} {($ VSub_Number '$0')} {(_make-readable)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [474]
        )
      spids: [470 473]
    )
    (FuncDef
      name: _stat
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(perf)} {(stat)} {(--)} {(_bin/osh)} {(-n)} {(benchmarks/testdata/abuild)})
                (C {(wc)} {(-l)})
              ]
              negated: F
            )
          ]
          spids: [496]
        )
      spids: [492 495]
    )
    (FuncDef
      name: stat
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(sudo)} {($ VSub_Number '$0')} {(_stat)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [527]
        )
      spids: [523 526]
    )
    (FuncDef
      name: flamegraph
      body: 
        (BraceGroup
          children: [
            (C {(TildeSubPart prefix:'') (/git/other/FlameGraph/flamegraph.pl)} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [546]
        )
      spids: [542 545]
    )
    (FuncDef
      name: stackcollapse-perf
      body: 
        (BraceGroup
          children: [
            (C {(TildeSubPart prefix:'') (/git/other/FlameGraph/stackcollapse-perf.pl)} 
              {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [563]
        )
      spids: [559 562]
    )
    (FuncDef
      name: make-graph
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(perf)} {(script)})
                (SimpleCommand
                  words: [{(stackcollapse-perf)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(out.perf-folded)}
                      spids: [594]
                    )
                  ]
                )
              ]
              negated: F
            )
            (SimpleCommand
              words: [{(flamegraph)} {(out.perf-folded)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(perf-kernel.svg)}
                  spids: [603]
                )
              ]
            )
          ]
          spids: [583]
        )
      spids: [579 582]
    )
    (C {(DQ ($ VSub_At '$@'))})
  ]
)