(command.CommandList
  children: [
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {<-o>} {<nounset>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {<-o>} {<pipefail>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {<-o>} {<errexit>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <source>
      more_env: []
      words: [{<source>} {<'build/common.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <source>
      more_env: []
      words: [{<source>} {<'benchmarks/common.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <_dump-if-exists>
      name: _dump-if-exists
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'path='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'out='> ($ Id.VSub_Number 2)}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-f>} {($ Id.VSub_DollarName path)}]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow keyword:<Id.ControlFlow_Return return>)
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {($ Id.VSub_DollarName path)}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out)}
                )
              ]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <dump-shell-id>
      name: dump-shell-id
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'sh='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<name>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'name='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'name='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <basename>
                            more_env: []
                            words: [{<basename>} {($ Id.VSub_DollarName sh)}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'out_dir='> 
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 2>
                    var_name: 2
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonHyphen _>
                        arg_word: 
                          {<_tmp> <Id.Lit_Slash '/'> <shell-id> <Id.Lit_Slash '/'> 
                            ($ Id.VSub_DollarName name)
                          }
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {($ Id.VSub_DollarName out_dir)}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName sh)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <'/osh'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [{<local>} {<branch>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'branch='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'branch='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'branch='> name:branch)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (CommandSub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    blame_tok: <git>
                                    more_env: []
                                    words: [{<git>} {<rev-parse>} {<--abbrev-ref>} {<HEAD>}]
                                    redirects: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {($ Id.VSub_DollarName branch)}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName out_dir) <'/git-branch.txt'>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <git>
                      more_env: []
                      words: [{<git>} {<rev-parse>} {($ Id.VSub_DollarName branch)}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName out_dir) <'/git-commit-hash.txt'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName name)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <bash>
                  pattern: (pat.Words words:[{<bash>} {<zsh>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <Id.VSub_DollarName '$sh'>
                      more_env: []
                      words: [{($ Id.VSub_DollarName sh)} {<--version>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName out_dir) <'/version.txt'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <osh>
                  pattern: (pat.Words words:[{<osh>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <Id.VSub_DollarName '$sh'>
                      more_env: []
                      words: [{($ Id.VSub_DollarName sh)} {<--version>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName out_dir) <'/osh-version.txt'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <dash>
                  pattern: (pat.Words words:[{<dash>} {<mksh>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <dpkg>
                      more_env: []
                      words: [{<dpkg>} {<-s>} {($ Id.VSub_DollarName name)}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName out_dir) <'/dpkg-version.txt'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <die>
                      more_env: []
                      words: [{<die>} {(DQ <'Invalid shell \''> ($ Id.VSub_DollarName name) <'\''>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <_shell-id-hash>
      name: _shell-id-hash
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<file>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'file='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'file='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName src) <'/version.txt'>}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <cat>
                  more_env: []
                  words: [{<cat>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'file='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'file='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName src) <'/dpkg-version.txt'>}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <egrep>
                  more_env: []
                  words: [{<egrep>} {(SQ <'^Version'>)} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'file='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'file='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName src) <'/osh-version.txt'>}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <egrep>
                  more_env: []
                  words: [{<egrep>} {(SQ <'^Oil version|^Interpreter'>)} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'file='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'file='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName src) <'/git-commit-hash.txt'>}
                )
              ]
              redirects: []
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <cat>
                  more_env: []
                  words: [{<cat>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <publish-shell-id>
      name: publish-shell-id
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'dest_base='> 
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 2>
                    var_name: 2
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonHyphen _>
                        arg_word: 
                          {<..> <Id.Lit_Slash '/'> <benchmark-data> <Id.Lit_Slash '/'> <shell-id>}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'name='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <basename>
                        more_env: []
                        words: [{<basename>} {($ Id.VSub_DollarName src)}]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<hash>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'hash='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'hash='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hash='> name:hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (command.Simple
                                blame_tok: <_shell-id-hash>
                                more_env: []
                                words: [{<_shell-id-hash>} {($ Id.VSub_DollarName src)}]
                                redirects: []
                                do_fork: T
                              )
                              (command.Simple
                                blame_tok: <md5sum>
                                more_env: []
                                words: [{<md5sum>}]
                                redirects: []
                                do_fork: T
                              )
                            ]
                            ops: [<Id.Op_Pipe _>]
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'id='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name hash>
                      var_name: hash
                      suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 0>} length:{<Id.Lit_Digits 8>})
                      right: <Id.Arith_RBrace _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'dest='> 
                  (DQ ($ Id.VSub_DollarName dest_base) <'/'> ($ Id.VSub_DollarName name) <-> 
                    ($ Id.VSub_DollarName id)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {($ Id.VSub_DollarName dest)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {<--no-target-directory>}
                {<--recursive>}
                {($ Id.VSub_DollarName src) <'/'>}
                {($ Id.VSub_DollarName dest) <'/'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName hash)}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName dest) <'/HASH.txt'>}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <log>
              more_env: []
              words: [{<log>} {(DQ <'Published shell ID to '> ($ Id.VSub_DollarName dest))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName id)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <dump-host-id>
      name: dump-host-id
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'out_dir='> 
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 1>
                    var_name: 1
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonHyphen _>
                        arg_word: 
                          {<_tmp> <Id.Lit_Slash '/'> <host-id> <Id.Lit_Slash '/'> 
                            (CommandSub
                              left_token: <Id.Left_DollarParen '$('>
                              child: 
                                (command.Simple
                                  blame_tok: <hostname>
                                  more_env: []
                                  words: [{<hostname>}]
                                  redirects: []
                                  do_fork: T
                                )
                              right: <Id.Eof_RParen _>
                            )
                          }
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {($ Id.VSub_DollarName out_dir)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <hostname>
              more_env: []
              words: [{<hostname>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out_dir) <'/hostname.txt'>}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <uname>
              more_env: []
              words: [{<uname>} {<-m>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out_dir) <'/machine.txt'>}
                )
              ]
              do_fork: T
            )
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.Simple
                  blame_tok: <uname>
                  more_env: []
                  words: [{<uname>} {<--kernel-release>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <uname>
                  more_env: []
                  words: [{<uname>} {<--kernel-version>}]
                  redirects: []
                  do_fork: T
                )
              ]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out_dir) <'/kernel.txt'>}
                )
              ]
              right: <Id.Lit_RBrace '}'>
            )
            (command.Simple
              blame_tok: <_dump-if-exists>
              more_env: []
              words: [
                {<_dump-if-exists>}
                {<'/etc/lsb-release'>}
                {($ Id.VSub_DollarName out_dir) <'/lsb-release.txt'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {<'/proc/cpuinfo'>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out_dir) <'/cpuinfo.txt'>}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {<'/proc/meminfo'>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out_dir) <'/meminfo.txt'>}
                )
              ]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <_host-id-hash>
      name: _host-id-hash
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {($ Id.VSub_DollarName src) <'/machine.txt'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {($ Id.VSub_DollarName src) <'/kernel.txt'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'file='> ($ Id.VSub_DollarName src) <'/lsb-release.txt'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-f>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <cat>
                  more_env: []
                  words: [{<cat>} {($ Id.VSub_DollarName file)}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <publish-host-id>
      name: publish-host-id
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'dest_base='> 
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 2>
                    var_name: 2
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonHyphen _>
                        arg_word: 
                          {<..> <Id.Lit_Slash '/'> <benchmark-data> <Id.Lit_Slash '/'> <host-id>}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'name='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <basename>
                        more_env: []
                        words: [{<basename>} {($ Id.VSub_DollarName src)}]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<hash>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'hash='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'hash='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hash='> name:hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (command.Simple
                                blame_tok: <_host-id-hash>
                                more_env: []
                                words: [{<_host-id-hash>} {($ Id.VSub_DollarName src)}]
                                redirects: []
                                do_fork: T
                              )
                              (command.Simple
                                blame_tok: <md5sum>
                                more_env: []
                                words: [{<md5sum>}]
                                redirects: []
                                do_fork: T
                              )
                            ]
                            ops: [<Id.Op_Pipe _>]
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'id='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name hash>
                      var_name: hash
                      suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 0>} length:{<Id.Lit_Digits 8>})
                      right: <Id.Arith_RBrace _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'dest='> 
                  (DQ ($ Id.VSub_DollarName dest_base) <'/'> ($ Id.VSub_DollarName name) <-> 
                    ($ Id.VSub_DollarName id)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {($ Id.VSub_DollarName dest)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {<--no-target-directory>}
                {<--recursive>}
                {($ Id.VSub_DollarName src) <'/'>}
                {($ Id.VSub_DollarName dest) <'/'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName hash)}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName dest) <'/HASH.txt'>}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <log>
              more_env: []
              words: [{<log>} {(DQ <'Published host ID to '> ($ Id.VSub_DollarName dest))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName id)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <dump-compiler-id>
      name: dump-compiler-id
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'cc='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'out_dir='> 
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 2>
                    var_name: 2
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonHyphen _>
                        arg_word: 
                          {<_tmp> <Id.Lit_Slash '/'> <compiler-id> <Id.Lit_Slash '/'> 
                            (CommandSub
                              left_token: <Id.Left_DollarParen '$('>
                              child: 
                                (command.Simple
                                  blame_tok: <basename>
                                  more_env: []
                                  words: [{<basename>} {($ Id.VSub_DollarName cc)}]
                                  redirects: []
                                  do_fork: T
                                )
                              right: <Id.Eof_RParen _>
                            )
                          }
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {($ Id.VSub_DollarName out_dir)}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName cc)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <'/gcc'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <Id.VSub_DollarName '$cc'>
                      more_env: []
                      words: [{($ Id.VSub_DollarName cc)} {<--version>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <'/clang'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <Id.VSub_DollarName '$cc'>
                      more_env: []
                      words: [{($ Id.VSub_DollarName cc)} {<--version>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out_dir) <'/version.txt'>}
                )
              ]
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <test-compiler-id>
      name: test-compiler-id
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <dump-compiler-id>
              more_env: []
              words: [{<dump-compiler-id>} {<gcc>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <dump-compiler-id>
              more_env: []
              words: [{<dump-compiler-id>} {($ Id.VSub_DollarName CLANG)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <head>
              more_env: []
              words: [{<head>} {<'_tmp/compiler-id/'> <Id.Lit_Star '*'> <'/version.txt'>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <_compiler-id-hash>
      name: _compiler-id-hash
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Pipeline
              children: [
                (command.Simple
                  blame_tok: <cat>
                  more_env: []
                  words: [{<cat>} {($ Id.VSub_DollarName src) <'/version.txt'>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <grep>
                  more_env: []
                  words: [{<grep>} {<-v>} {<InstalledDir>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_Pipe _>]
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <publish-compiler-id>
      name: publish-compiler-id
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'dest_base='> 
                  (BracedVarSub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Number 2>
                    var_name: 2
                    suffix_op: 
                      (suffix_op.Unary
                        op: <Id.VTest_ColonHyphen _>
                        arg_word: 
                          {<..> <Id.Lit_Slash '/'> <benchmark-data> <Id.Lit_Slash '/'> <compiler-id>}
                      )
                    right: <Id.Right_DollarBrace '}'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'name='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <basename>
                        more_env: []
                        words: [{<basename>} {($ Id.VSub_DollarName src)}]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<hash>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'hash='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'hash='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hash='> name:hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (command.Simple
                                blame_tok: <_compiler-id-hash>
                                more_env: []
                                words: [{<_compiler-id-hash>} {($ Id.VSub_DollarName src)}]
                                redirects: []
                                do_fork: T
                              )
                              (command.Simple
                                blame_tok: <md5sum>
                                more_env: []
                                words: [{<md5sum>}]
                                redirects: []
                                do_fork: T
                              )
                            ]
                            ops: [<Id.Op_Pipe _>]
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'id='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name hash>
                      var_name: hash
                      suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 0>} length:{<Id.Lit_Digits 8>})
                      right: <Id.Arith_RBrace _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'dest='> 
                  (DQ ($ Id.VSub_DollarName dest_base) <'/'> ($ Id.VSub_DollarName name) <-> 
                    ($ Id.VSub_DollarName id)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {($ Id.VSub_DollarName dest)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {<--no-target-directory>}
                {<--recursive>}
                {($ Id.VSub_DollarName src) <'/'>}
                {($ Id.VSub_DollarName dest) <'/'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName hash)}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName dest) <'/HASH.txt'>}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <log>
              more_env: []
              words: [{<log>} {(DQ <'Published compiler ID to '> ($ Id.VSub_DollarName dest))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName id)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <shell-provenance>
      name: shell-provenance
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<job_id>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'job_id='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'job_id='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'job_id='> name:job_id)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              blame_tok: <date>
                              more_env: []
                              words: [
                                {<date>}
                                {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <Y-> <Id.Lit_Other '%'> <m-> 
                                  <Id.Lit_Other '%'> <d__> <Id.Lit_Other '%'> <H-> <Id.Lit_Other '%'> <M-> <Id.Lit_Other '%'> <S>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<host>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'host='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'host='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'host='> name:host)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <hostname>
                            more_env: []
                            words: [{<hostname>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'out='> <'_tmp/'> (${ Id.VSub_Name host) <.> (${ Id.VSub_Name job_id) 
                  <.provenance.txt>
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'tmp_dir='> <'_tmp/host-id/'> ($ Id.VSub_DollarName host)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <dump-host-id>
              more_env: []
              words: [{<dump-host-id>} {($ Id.VSub_DollarName tmp_dir)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<host_hash>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'host_hash='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'host_hash='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'host_hash='> name:host_hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <publish-host-id>
                            more_env: []
                            words: [{<publish-host-id>} {($ Id.VSub_DollarName tmp_dir)}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<shell_hash>}]
              redirects: []
              do_fork: T
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [sh_path]
              iterable: 
                (for_iter.Words
                  words: [{<bash>} {<dash>} {<mksh>} {<zsh>} {<'bin/osh'>} {($ Id.VSub_DollarName OSH_OVM)}]
                )
              semi_tok: <Id.Op_Semi _>
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<Id.Lit_VarLike 'name='> 
                          (CommandSub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Simple
                                blame_tok: <basename>
                                more_env: []
                                words: [{<basename>} {($ Id.VSub_DollarName sh_path)}]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'tmp_dir='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'tmp_dir='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmp_dir='> name:tmp_dir)
                          op: assign_op.Equal
                          rhs: {<'_tmp/shell-id/'> ($ Id.VSub_DollarName name)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <dump-shell-id>
                      more_env: []
                      words: [
                        {<dump-shell-id>}
                        {($ Id.VSub_DollarName sh_path)}
                        {($ Id.VSub_DollarName tmp_dir)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'shell_hash='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'shell_hash='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'shell_hash='> name:shell_hash)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (CommandSub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    blame_tok: <publish-shell-id>
                                    more_env: []
                                    words: [{<publish-shell-id>} {($ Id.VSub_DollarName tmp_dir)}]
                                    redirects: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ ($ Id.VSub_DollarName job_id) <' '> ($ Id.VSub_DollarName host) <' '> 
                            ($ Id.VSub_DollarName host_hash) <' '> ($ Id.VSub_DollarName sh_path) <' '> ($ Id.VSub_DollarName shell_hash)
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out)}
                )
              ]
            )
            (command.Simple
              blame_tok: <log>
              more_env: []
              words: [{<log>} {(DQ <'Wrote '> ($ Id.VSub_DollarName out))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName out)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <compiler-provenance>
      name: compiler-provenance
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<job_id>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'job_id='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'job_id='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'job_id='> name:job_id)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Simple
                              blame_tok: <date>
                              more_env: []
                              words: [
                                {<date>}
                                {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <Y-> <Id.Lit_Other '%'> <m-> 
                                  <Id.Lit_Other '%'> <d__> <Id.Lit_Other '%'> <H-> <Id.Lit_Other '%'> <M-> <Id.Lit_Other '%'> <S>
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                          right: <Id.Eof_RParen _>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<host>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'host='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'host='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'host='> name:host)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <hostname>
                            more_env: []
                            words: [{<hostname>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'out='> <'_tmp/'> (${ Id.VSub_Name host) <.> (${ Id.VSub_Name job_id) 
                  <.compiler-provenance.txt>
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'tmp_dir='> <'_tmp/host-id/'> ($ Id.VSub_DollarName host)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <dump-host-id>
              more_env: []
              words: [{<dump-host-id>} {($ Id.VSub_DollarName tmp_dir)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<host_hash>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'host_hash='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'host_hash='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'host_hash='> name:host_hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <publish-host-id>
                            more_env: []
                            words: [{<publish-host-id>} {($ Id.VSub_DollarName tmp_dir)}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<compiler_hash>}]
              redirects: []
              do_fork: T
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [compiler_path]
              iterable: 
                (for_iter.Words
                  words: [
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <which>
                            more_env: []
                            words: [{<which>} {<gcc>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                    {($ Id.VSub_DollarName CLANG)}
                  ]
                )
              semi_tok: <Id.Op_Semi _>
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<Id.Lit_VarLike 'name='> 
                          (CommandSub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Simple
                                blame_tok: <basename>
                                more_env: []
                                words: [{<basename>} {($ Id.VSub_DollarName compiler_path)}]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'tmp_dir='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'tmp_dir='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmp_dir='> name:tmp_dir)
                          op: assign_op.Equal
                          rhs: {<'_tmp/compiler-id/'> ($ Id.VSub_DollarName name)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <dump-compiler-id>
                      more_env: []
                      words: [
                        {<dump-compiler-id>}
                        {($ Id.VSub_DollarName compiler_path)}
                        {($ Id.VSub_DollarName tmp_dir)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'compiler_hash='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'compiler_hash='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'compiler_hash='>
                              name: compiler_hash
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (CommandSub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    blame_tok: <publish-compiler-id>
                                    more_env: []
                                    words: [{<publish-compiler-id>} {($ Id.VSub_DollarName tmp_dir)}]
                                    redirects: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ ($ Id.VSub_DollarName job_id) <' '> ($ Id.VSub_DollarName host) <' '> 
                            ($ Id.VSub_DollarName host_hash) <' '> ($ Id.VSub_DollarName compiler_path) <' '> ($ Id.VSub_DollarName compiler_hash)
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName out)}
                )
              ]
            )
            (command.Simple
              blame_tok: <log>
              more_env: []
              words: [{<log>} {(DQ <'Wrote '> ($ Id.VSub_DollarName out))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {($ Id.VSub_DollarName out)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <Id.Left_DoubleQuote '"'>
      more_env: []
      words: [{(DQ ($ Id.VSub_At '@'))}]
      redirects: []
      do_fork: T
    )
  ]
)