(command.CommandList
  children: [
    (C {<Id.KW_Set set>} {<-o>} {<nounset>})
    (C {<Id.KW_Set set>} {<-o>} {<pipefail>})
    (C {<Id.KW_Set set>} {<-o>} {<errexit>})
    (C {<source>} {<test/common.sh>})
    (C {<source>} {<benchmarks/common.sh>})
    (C {<readonly>} {<Id.Lit_VarLike 'BASE_DIR='> <_tmp/osh-parser>})
    (C {<readonly>} {<Id.Lit_VarLike 'SORTED='> ($ Id.VSub_DollarName '$BASE_DIR') </tmp/sorted.txt>})
    (command.ShFunction
      name: write-sorted-manifest
      body: 
        (command.BraceGroup
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'files='> 
                (braced_var_sub
                  token: <Id.VSub_Number 1>
                  suffix_op: 
                    (suffix_op.Unary
                      op_id: Id.VTest_ColonHyphen
                      arg_word: {<benchmarks> <Id.Lit_Slash /> <osh-parser-files.txt>}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'counts='> ($ Id.VSub_DollarName '$BASE_DIR') </tmp/line-counts.txt>}
            )
            (C {<local>} {<Id.Lit_VarLike 'csv_out='> ($ Id.VSub_Number '$2')})
            (command.Pipeline
              children: [
                (C {<grep>} {<-v>} {(SQ <'^#'>)} {($ Id.VSub_DollarName '$files')})
                (C {<xargs>} {<wc>} {<-l>})
                (command.Simple
                  words: [{<sort>} {<-n>}]
                  redirects: [
                    (redir.Redir
                      op: <Id.Redir_Great '>'>
                      fd: -1
                      arg_word: {($ Id.VSub_DollarName '$counts')}
                    )
                  ]
                )
              ]
              negated: F
            )
            (command.Pipeline
              children: [
                (C {<cat>} {($ Id.VSub_DollarName '$counts')})
                (command.Simple
                  words: [{<awk>} {(SQ <'$2 != "total" { print $2 }'>)}]
                  redirects: [
                    (redir.Redir
                      op: <Id.Redir_Great '>'>
                      fd: -1
                      arg_word: {($ Id.VSub_DollarName '$SORTED')}
                    )
                  ]
                )
              ]
              negated: F
            )
            (command.Pipeline
              children: [
                (C {<cat>} {($ Id.VSub_DollarName '$counts')})
                (command.Simple
                  words: [
                    {<awk>}
                    {
                      (SQ <'\n'> <'      BEGIN { print "num_lines,path" }\n'> 
                        <'      $2 != "total" { print $1 "," $2 }'>
                      )
                    }
                  ]
                  redirects: [
                    (redir.Redir
                      op: <Id.Redir_Great '>'>
                      fd: -1
                      arg_word: {($ Id.VSub_DollarName '$csv_out')}
                    )
                  ]
                )
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: parser-task
      body: 
        (command.BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'raw_dir='> ($ Id.VSub_Number '$1')})
            (C {<local>} {<Id.Lit_VarLike 'job_id='> ($ Id.VSub_Number '$2')})
            (C {<local>} {<Id.Lit_VarLike 'host='> ($ Id.VSub_Number '$3')})
            (C {<local>} {<Id.Lit_VarLike 'host_hash='> ($ Id.VSub_Number '$4')})
            (C {<local>} {<Id.Lit_VarLike 'sh_path='> ($ Id.VSub_Number '$5')})
            (C {<local>} {<Id.Lit_VarLike 'shell_hash='> ($ Id.VSub_Number '$6')})
            (C {<local>} {<Id.Lit_VarLike 'script_path='> ($ Id.VSub_Number '$7')})
            (C {<echo>} 
              {
                (DQ <'--- '> ($ Id.VSub_DollarName '$sh_path') <' '> 
                  ($ Id.VSub_DollarName '$script_path') <' ---'>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'times_out='> 
                (DQ ($ Id.VSub_DollarName '$raw_dir') </> ($ Id.VSub_DollarName '$host') <.> 
                  ($ Id.VSub_DollarName '$job_id') <.times.csv>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'vm_out_dir='> 
                (DQ ($ Id.VSub_DollarName '$raw_dir') </> ($ Id.VSub_DollarName '$host') <.> 
                  ($ Id.VSub_DollarName '$job_id') <.virtual-memory>
                )
              }
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$vm_out_dir')})
            (C {<local>} {<shell_name>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:shell_name)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [(C {<basename>} {($ Id.VSub_DollarName '$sh_path')})]
                          )
                      )
                    }
                  spids: [295]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:extra_args)
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [308]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$shell_name'))} {<Id.Lit_Equals '='>} 
                          {(SQ <osh>)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<local>} {<script_name>})
                    (C {<local>} {<vm_out_path>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:script_name)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                command_list: 
                                  (command.CommandList
                                    children: [(C {<basename>} {($ Id.VSub_DollarName '$script_path')})]
                                  )
                              )
                            }
                          spids: [341]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:vm_out_path)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (${ Id.VSub_Name vm_out_dir) </> (${ Id.VSub_Name shell_name) <-> 
                                (${ Id.VSub_Name shell_hash) <__> (${ Id.VSub_Name script_name) <.txt>
                              )
                            }
                          spids: [349]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:extra_args)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'--ast-format none --parser-mem-dump '> 
                                ($ Id.VSub_DollarName '$vm_out_path')
                              )
                            }
                          spids: [370]
                        )
                      ]
                    )
                  ]
                  spids: [313 328]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<benchmarks/time.py>} {<--output>} {($ Id.VSub_DollarName '$times_out')} {<--field>} 
                  {(DQ ($ Id.VSub_DollarName '$host'))} {<--field>} {(DQ ($ Id.VSub_DollarName '$host_hash'))} {<--field>} 
                  {(DQ ($ Id.VSub_DollarName '$shell_name'))} {<--field>} {(DQ ($ Id.VSub_DollarName '$shell_hash'))} {<--field>} 
                  {(DQ ($ Id.VSub_DollarName '$script_path'))} {<-->} {(DQ ($ Id.VSub_DollarName '$sh_path'))} {<-n>} {($ Id.VSub_DollarName '$extra_args')} 
                  {(DQ ($ Id.VSub_DollarName '$script_path'))}
                )
                (C {<echo>} {<FAILED>})
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: print-tasks
      body: 
        (command.BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'provenance='> ($ Id.VSub_Number '$1')})
            (command.Pipeline
              children: [
                (C {<cat>} {($ Id.VSub_DollarName '$provenance')})
                (command.WhileUntil
                  keyword: <Id.KW_While while>
                  cond: [(command.Sentence child:(C {<read>} {<fields>}) terminator:<Id.Op_Semi _>)]
                  body: 
                    (command.DoGroup
                      children: [
                        (command.Pipeline
                          children: [
                            (C {<cat>} {($ Id.VSub_DollarName '$sorted')})
                            (C {<xargs>} {<-n>} {<1>} {<-->} {<echo>} {($ Id.VSub_DollarName '$fields')})
                          ]
                          negated: F
                        )
                      ]
                    )
                )
              ]
              negated: F
            )
          ]
        )
    )
    (C {<readonly>} 
      {<Id.Lit_VarLike 'HEADER='> 
        (SQ <'status,elapsed_secs,host_name,host_hash,shell_name,shell_hash,path'>)
      }
    )
    (C {<readonly>} {<Id.Lit_VarLike 'NUM_COLUMNS='> <6>})
    (command.ShFunction
      name: measure
      body: 
        (command.BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'provenance='> ($ Id.VSub_Number '$1')})
            (C {<local>} 
              {<Id.Lit_VarLike 'raw_dir='> 
                (braced_var_sub
                  token: <Id.VSub_Number 2>
                  suffix_op: 
                    (suffix_op.Unary
                      op_id: Id.VTest_ColonHyphen
                      arg_word: {($ Id.VSub_DollarName '$BASE_DIR') <Id.Lit_Slash /> <raw>}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'name='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  command_list: 
                    (command.CommandList
                      children: [(C {<basename>} {($ Id.VSub_DollarName '$provenance')})]
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'prefix='> 
                (braced_var_sub
                  token: <Id.VSub_Name name>
                  suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<.provenance.txt>})
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'times_out='> 
                (DQ ($ Id.VSub_DollarName '$raw_dir') </> ($ Id.VSub_DollarName '$prefix') <.times.csv>)
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'lines_out='> 
                (DQ ($ Id.VSub_DollarName '$raw_dir') </> ($ Id.VSub_DollarName '$prefix') <.lines.csv>)
              }
            )
            (C {<mkdir>} {<-p>} 
              (word.BracedTree
                parts: [
                  ($ Id.VSub_DollarName '$BASE_DIR')
                  </>
                  (word_part.BracedTuple words:[{<tmp>} {<raw>} {<stage1>}])
                ]
              ) {($ Id.VSub_DollarName '$raw_dir')}
            )
            (C {<write-sorted-manifest>} {(SQ )} {($ Id.VSub_DollarName '$lines_out')})
            (C {<local>} {<Id.Lit_VarLike 'sorted='> ($ Id.VSub_DollarName '$SORTED')})
            (command.Simple
              words: [{<echo>} {($ Id.VSub_DollarName '$HEADER')}]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$times_out')}
                )
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'tasks='> ($ Id.VSub_DollarName '$BASE_DIR') </tasks.txt>})
            (command.Simple
              words: [{<print-tasks>} {($ Id.VSub_DollarName '$provenance')}]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$tasks')}
                )
              ]
            )
            (command.Pipeline
              children: [
                (C {<cat>} {($ Id.VSub_DollarName '$tasks')})
                (C {<xargs>} {<-n>} {($ Id.VSub_DollarName '$NUM_COLUMNS')} {<-->} 
                  {($ Id.VSub_Number '$0')} {<parser-task>} {($ Id.VSub_DollarName '$raw_dir')}
                )
              ]
              negated: F
            )
            (C {<cp>} {<-v>} {($ Id.VSub_DollarName '$provenance')} {($ Id.VSub_DollarName '$raw_dir')})
          ]
        )
    )
    (command.ShFunction
      name: fake-other-host
      body: 
        (command.BraceGroup
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'dir='> 
                (braced_var_sub
                  token: <Id.VSub_Number 1>
                  suffix_op: 
                    (suffix_op.Unary
                      op_id: Id.VTest_ColonHyphen
                      arg_word: {<_tmp> <Id.Lit_Slash /> <osh-parser> <Id.Lit_Slash /> <raw>}
                    )
                )
              }
            )
            (command.ForEach
              iter_name: entry
              iter_words: [{($ Id.VSub_DollarName '$dir') </lisa> <Id.Lit_Star '*'>}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fake='> 
                        (braced_var_sub
                          token: <Id.VSub_Name entry>
                          suffix_op: 
                            (suffix_op.PatSub
                              pat: {<lisa>}
                              replace: {<flanders>}
                              replace_mode: Id.Undefined_Tok
                            )
                        )
                      }
                    )
                    (C {<mv>} {<-v>} {($ Id.VSub_DollarName '$entry')} {($ Id.VSub_DollarName '$fake')})
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: (C {<test>} {<-f>} {($ Id.VSub_DollarName '$fake')})
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <s/lisa/flanders/g>)} {($ Id.VSub_DollarName '$fake')})
                          ]
                          spids: [807 816]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: stage1
      body: 
        (command.BraceGroup
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'raw_dir='> 
                (braced_var_sub
                  token: <Id.VSub_Number 1>
                  suffix_op: 
                    (suffix_op.Unary
                      op_id: Id.VTest_ColonHyphen
                      arg_word: {($ Id.VSub_DollarName '$BASE_DIR') <Id.Lit_Slash /> <raw>}
                    )
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'out='> ($ Id.VSub_DollarName '$BASE_DIR') </stage1>})
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$out')})
            (C {<local>} 
              {<Id.Lit_VarLike 'vm_csv='> ($ Id.VSub_DollarName '$out') </virtual-memory.csv>}
            )
            (C {<local>} {<-a>} 
              {<Id.Lit_VarLike 'x='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [
                    {($ Id.VSub_DollarName '$raw_dir') </flanders.> <Id.Lit_Star '*'> <.virtual-memory>}
                  ]
                )
              }
            )
            (C {<local>} {<-a>} 
              {<Id.Lit_VarLike 'y='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [
                    {($ Id.VSub_DollarName '$raw_dir') </lisa.> <Id.Lit_Star '*'> <.virtual-memory>}
                  ]
                )
              }
            )
            (command.Simple
              words: [
                {<benchmarks/virtual_memory.py>}
                {<osh-parser>}
                {
                  (braced_var_sub
                    token: <Id.VSub_Name x>
                    bracket_op: 
                      (bracket_op.ArrayIndex
                        expr: 
                          (arith_expr.Unary
                            op_id: Id.Node_UnaryMinus
                            child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                          )
                      )
                  )
                }
                {
                  (braced_var_sub
                    token: <Id.VSub_Name y>
                    bracket_op: 
                      (bracket_op.ArrayIndex
                        expr: 
                          (arith_expr.Unary
                            op_id: Id.Node_UnaryMinus
                            child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                          )
                      )
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$vm_csv')}
                )
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'times_csv='> ($ Id.VSub_DollarName '$out') </times.csv>})
            (C {<local>} {<-a>} 
              {<Id.Lit_VarLike 'a='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [
                    {($ Id.VSub_DollarName '$raw_dir') </flanders.> <Id.Lit_Star '*'> <.times.csv>}
                  ]
                )
              }
            )
            (C {<local>} {<-a>} 
              {<Id.Lit_VarLike 'b='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [{($ Id.VSub_DollarName '$raw_dir') </lisa.> <Id.Lit_Star '*'> <.times.csv>}]
                )
              }
            )
            (command.Simple
              words: [
                {<csv-concat>}
                {
                  (braced_var_sub
                    token: <Id.VSub_Name a>
                    bracket_op: 
                      (bracket_op.ArrayIndex
                        expr: 
                          (arith_expr.Unary
                            op_id: Id.Node_UnaryMinus
                            child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                          )
                      )
                  )
                }
                {
                  (braced_var_sub
                    token: <Id.VSub_Name b>
                    bracket_op: 
                      (bracket_op.ArrayIndex
                        expr: 
                          (arith_expr.Unary
                            op_id: Id.Node_UnaryMinus
                            child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                          )
                      )
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$times_csv')}
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'raw_data_csv='> ($ Id.VSub_DollarName '$out') </raw-data.csv>}
            )
            (command.BraceGroup
              children: [
                (C {<echo>} {(SQ <path>)})
                (C {<echo>} 
                  {
                    (braced_var_sub
                      token: <Id.VSub_Name a>
                      bracket_op: 
                        (bracket_op.ArrayIndex
                          expr: 
                            (arith_expr.Unary
                              op_id: Id.Node_UnaryMinus
                              child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                            )
                        )
                    )
                  }
                )
                (C {<echo>} 
                  {
                    (braced_var_sub
                      token: <Id.VSub_Name b>
                      bracket_op: 
                        (bracket_op.ArrayIndex
                          expr: 
                            (arith_expr.Unary
                              op_id: Id.Node_UnaryMinus
                              child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                            )
                        )
                    )
                  }
                )
              ]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$raw_data_csv')}
                )
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'lines_csv='> ($ Id.VSub_DollarName '$out') </lines.csv>})
            (C {<local>} {<-a>} 
              {<Id.Lit_VarLike 'c='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [
                    {($ Id.VSub_DollarName '$raw_dir') </flanders.> <Id.Lit_Star '*'> <.lines.csv>}
                  ]
                )
              }
            )
            (C {<local>} {<-a>} 
              {<Id.Lit_VarLike 'd='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [{($ Id.VSub_DollarName '$raw_dir') </lisa.> <Id.Lit_Star '*'> <.lines.csv>}]
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'left='> 
                (braced_var_sub
                  token: <Id.VSub_Name c>
                  bracket_op: 
                    (bracket_op.ArrayIndex
                      expr: 
                        (arith_expr.Unary
                          op_id: Id.Node_UnaryMinus
                          child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                        )
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'right='> 
                (braced_var_sub
                  token: <Id.VSub_Name d>
                  bracket_op: 
                    (bracket_op.ArrayIndex
                      expr: 
                        (arith_expr.Unary
                          op_id: Id.Node_UnaryMinus
                          child: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                        )
                    )
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.Pipeline
                          children: [
                            (C {<diff>} {($ Id.VSub_DollarName '$left')} 
                              {($ Id.VSub_DollarName '$right')}
                            )
                          ]
                          negated: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<die>} 
                      {
                        (DQ <'Benchmarks were run on different files ('> 
                          ($ Id.VSub_DollarName '$left') <' != '> ($ Id.VSub_DollarName '$right') <')'>
                        )
                      }
                    )
                  ]
                  spids: [1116 1127]
                )
              ]
            )
            (command.Simple
              words: [{<cat>} {($ Id.VSub_DollarName '$left')}]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$lines_csv')}
                )
              ]
            )
            (C {<head>} {($ Id.VSub_DollarName '$out') </> <Id.Lit_Star '*'>})
            (C {<wc>} {<-l>} {($ Id.VSub_DollarName '$out') </> <Id.Lit_Star '*'>})
          ]
        )
    )
    (command.ShFunction
      name: print-report
      body: 
        (command.BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'in_dir='> ($ Id.VSub_Number '$1')})
            (C {<local>} {<Id.Lit_VarLike 'base_url='> (SQ <../../web>)})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOF>}
                  here_end_span_id: 1290
                  stdin_parts: [
                    <'<!DOCTYPE html>\n'>
                    <'<html>\n'>
                    <'  <head>\n'>
                    <'    <title>OSH Parser Performance</title>\n'>
                    <'    <script type='>
                    <Id.Right_DoubleQuote '"'>
                    <text/javascript>
                    <Id.Right_DoubleQuote '"'>
                    <' src='>
                    <Id.Right_DoubleQuote '"'>
                    ($ Id.VSub_DollarName '$base_url')
                    </table/table-sort.js>
                    <Id.Right_DoubleQuote '"'>
                    <'></script>\n'>
                    <'    <link rel='>
                    <Id.Right_DoubleQuote '"'>
                    <stylesheet>
                    <Id.Right_DoubleQuote '"'>
                    <' type='>
                    <Id.Right_DoubleQuote '"'>
                    <text/css>
                    <Id.Right_DoubleQuote '"'>
                    <' href='>
                    <Id.Right_DoubleQuote '"'>
                    ($ Id.VSub_DollarName '$base_url')
                    </table/table-sort.css>
                    <Id.Right_DoubleQuote '"'>
                    <' />\n'>
                    <'    <link rel='>
                    <Id.Right_DoubleQuote '"'>
                    <stylesheet>
                    <Id.Right_DoubleQuote '"'>
                    <' type='>
                    <Id.Right_DoubleQuote '"'>
                    <text/css>
                    <Id.Right_DoubleQuote '"'>
                    <' href='>
                    <Id.Right_DoubleQuote '"'>
                    ($ Id.VSub_DollarName '$base_url')
                    </benchmarks.css>
                    <Id.Right_DoubleQuote '"'>
                    <' />\n'>
                    <'\n'>
                    <'  </head>\n'>
                    <'  <body>\n'>
                    <'    <p id='>
                    <Id.Right_DoubleQuote '"'>
                    <home-link>
                    <Id.Right_DoubleQuote '"'>
                    <'>\n'>
                    <'      <a href='>
                    <Id.Right_DoubleQuote '"'>
                    </>
                    <Id.Right_DoubleQuote '"'>
                    <'>oilshell.org</a>\n'>
                    <'    </p>\n'>
                    <'    <h2>OSH Parser Performance</h2>\n'>
                    <'\n'>
                    <'    <p>We run <code>'>
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                    <'sh -n '>
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                    <'file</code> for various files under various\n'>
                    <'    shells.  This means that shell startup time is included in the\n'>
                    <'    elapsed time measurements, but long files are chosen to minimize its\n'>
                    <'    effect.</p>\n'>
                    <'\n'>
                    <'    <h3>Parse Time Summary</h3>\n'>
                  ]
                )
              ]
            )
            (C {<csv2html>} {($ Id.VSub_DollarName '$in_dir') </summary.csv>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOF>}
                  here_end_span_id: 1309
                  stdin_parts: [
                    <'    <h3>Memory Used to Parse</h3>\n'>
                    <'\n'>
                    <'    <p>Running under <code>osh-ovm</code>.  Memory usage is measured in MB\n'>
                    <'    (powers of 10), not MiB (powers of 2).</p>\n'>
                  ]
                )
              ]
            )
            (C {<csv2html>} {($ Id.VSub_DollarName '$in_dir') </virtual-memory.csv>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOF>}
                  here_end_span_id: 1326
                  stdin_parts: [<'\n'> <'    <h3>Shell and Host Details</h3>\n'>]
                )
              ]
            )
            (C {<csv2html>} {($ Id.VSub_DollarName '$in_dir') </shells.csv>})
            (C {<csv2html>} {($ Id.VSub_DollarName '$in_dir') </hosts.csv>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOF>}
                  here_end_span_id: 1347
                  stdin_parts: [<'    <h3>Raw Data</h3>\n'>]
                )
              ]
            )
            (C {<csv2html>} {($ Id.VSub_DollarName '$in_dir') </raw-data.csv>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOF>}
                  here_end_span_id: 1364
                  stdin_parts: [
                    <'    <h3>Parse Time Breakdown by File</h3>\n'>
                    <'\n'>
                    <'    <h4>Elasped Time in milliseconds</h4>\n'>
                  ]
                )
              ]
            )
            (C {<csv2html>} {($ Id.VSub_DollarName '$in_dir') </elapsed.csv>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOF>}
                  here_end_span_id: 1380
                  stdin_parts: [<'\n'> <'    <h4>Parsing Rate in lines/millisecond</h4>\n'>]
                )
              ]
            )
            (C {<csv2html>} {($ Id.VSub_DollarName '$in_dir') </rate.csv>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOF>}
                  here_end_span_id: 1396
                  stdin_parts: [<'  </body>\n'> <'</html>\n'>]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: time-test
      body: 
        (command.BraceGroup
          children: [
            (C {<benchmarks/time.py>} {<--field>} {<bash>} {<--field>} {<foo.txt>} {<--output>} 
              {<_tmp/bench.csv>} {<sleep>} {<0.123>}
            )
            (C {<cat>} {<_tmp/bench.csv>})
          ]
        )
    )
    (C {(DQ ($ Id.VSub_At '$@'))})
  ]
)