(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-ne)} {(3)} {(Lit_Other ']')})]
          action: [
            (C {(echo)} 
              {
                (DQ ('Usage: ') ($ VSub_Number '$0') 
                  (' dart_binary benchmark_directory output_directory')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ ('Example: ') ($ VSub_Number '$0') 
                  (' out/ReleaseIA32/dart ../golem4/benchmarks /tmp/bmu')
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [16777215 37]
        )
      ]
      spids: [16777215 62]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DART_BIN)
          op: Equal
          rhs: {($ VSub_Number '$1')}
          spids: [65]
        )
      ]
      spids: [65]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BENCH_DIR)
          op: Equal
          rhs: {($ VSub_Number '$2')}
          spids: [68]
        )
      ]
      spids: [68]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:OUT_DIR) op:Equal rhs:{($ VSub_Number '$3')} spids:[71])]
      spids: [71]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VERBOSE_GC_TO_BMU)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number '$0'))})])
                left_token: <Left_CommandSub '$('>
                spids: [76 82]
              ) (/verbose_gc_to_bmu.dart)
            }
          spids: [75]
        )
      ]
      spids: [75]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:INDEX_FILE)
          op: Equal
          rhs: {($ VSub_Name '$OUT_DIR') (/index.html)}
          spids: [85]
        )
      ]
      spids: [85]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP)
          op: Equal
          rhs: {(/tmp/bmu_benchmark_gallery)}
          spids: [89]
        )
      ]
      spids: [89]
    )
    (C {(mkdir)} {(-p)} {($ VSub_Name '$OUT_DIR')})
    (SimpleCommand
      words: [{(echo)} {(DQ ('<html><body>'))}]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: 16777215
          arg_word: {($ VSub_Name '$INDEX_FILE')}
          spids: [105]
        )
      ]
    )
    (SimpleCommand
      words: [{($ VSub_Name '$DART_BIN')} {(--version)}]
      redirects: [(Redir op_id:Redir_DGreat fd:2 arg_word:{($ VSub_Name '$INDEX_FILE')} spids:[113])]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('<br>'))}]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: 16777215
          arg_word: {($ VSub_Name '$INDEX_FILE')}
          spids: [123]
        )
      ]
    )
    (ForEach
      iter_name: NAME
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(ls)} {($ VSub_Name '$BENCH_DIR')})])
            left_token: <Left_Backtick '`'>
            spids: [133 137]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (AndOr
              children: [
                (SimpleCommand
                  words: [
                    {($ VSub_Name '$DART_BIN')}
                    {(--verbose_gc)}
                    {($ VSub_Name '$BENCH_DIR') (/) ($ VSub_Name '$NAME') (/dart/) 
                      ($ VSub_Name '$NAME') (.dart)
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {($ VSub_Name '$TMP') (.gclog)}
                      spids: [153]
                    )
                  ]
                )
                (AndOr
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$DART_BIN')} {($ VSub_Name '$VERBOSE_GC_TO_BMU')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: 16777215
                          arg_word: {($ VSub_Name '$TMP') (.gclog)}
                          spids: [165]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$TMP') (.dat)}
                          spids: [170]
                        )
                      ]
                    )
                    (AndOr
                      children: [
                        (C {(gnuplot)} {(-e)} 
                          {
                            (DQ ("set term png; set output '") ($ VSub_Name '$TMP') 
                              (".png'; set title '") ($ VSub_Name '$NAME') 
                              (
"'; set ylabel 'BMU'; set xlabel 'Window size (ms)'; unset key; set yr [0:1]; set logscale x; plot '"
                              ) ($ VSub_Name '$TMP') (".dat' with linespoints")
                            )
                          }
                        )
                        (AndOr
                          children: [
                            (C {(mv)} {(-f)} {($ VSub_Name '$TMP') (.png)} 
                              {($ VSub_Name '$OUT_DIR') (/) ($ VSub_Name '$NAME') (.png)}
                            )
                            (AndOr
                              children: [
                                (C {(mv)} {(-f)} {($ VSub_Name '$TMP') (.gclog)} 
                                  {($ VSub_Name '$OUT_DIR') (/) ($ VSub_Name '$NAME') (.txt)}
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {
                                      (DQ ("<a href='") ($ VSub_Name '$NAME') (".txt'><img src='") 
                                        ($ VSub_Name '$NAME') (".png'></a>")
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {($ VSub_Name '$INDEX_FILE')}
                                      spids: [235]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [139 239]
        )
      spids: [132 16777215]
    )
    (SimpleCommand
      words: [{(echo)} {(DQ ('</body></html>'))}]
      redirects: [
        (Redir
          op_id: Redir_DGreat
          fd: 16777215
          arg_word: {($ VSub_Name '$INDEX_FILE')}
          spids: [247]
        )
      ]
    )
  ]
)