(command.CommandList
  children: [
    (C {<set>} {<-o>} {<nounset>})
    (C {<set>} {<-o>} {<pipefail>})
    (C {<set>} {<-o>} {<errexit>})
    (C {<source>} {<'build/common.sh'>})
    (C {<source>} {<'benchmarks/common.sh'>})
    (command.ShFunction
      name: _dump-if-exists
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'path='> ($ Id.VSub_Number '$1')})
            (C {<local>} {<Id.Lit_VarLike 'out='> ($ Id.VSub_Number '$2')})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$path')})
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (command.Simple
              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
            )
          ]
        )
    )
    (command.ShFunction
      name: dump-shell-id
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'sh='> ($ Id.VSub_Number '$1')})
            (C {<local>} {<name>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:name)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<basename>} {($ Id.VSub_DollarName '$sh')})
                      )
                    }
                  spids: [240]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'out_dir='> 
                (braced_var_sub
                  token: <Id.VSub_Number 2>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VTest_ColonHyphen ':-'>
                      arg_word: 
                        {<_tmp> <Id.Lit_Slash '/'> <shell-id> <Id.Lit_Slash '/'> 
                          ($ Id.VSub_DollarName '$name')
                        }
                    )
                )
              }
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$out_dir')})
            (command.Case
              to_match: {($ Id.VSub_DollarName '$sh')}
              arms: [
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <'/osh'>}]
                  action: [
                    (C {<local>} {<branch>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:branch)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<git>} {<rev-parse>} {<--abbrev-ref>} {<HEAD>})
                              )
                            }
                          spids: [292]
                        )
                      ]
                    )
                    (command.Simple
                      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
                      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
                    )
                  ]
                  spids: [282 284 326 -1]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$name')}
              arms: [
                (case_arm
                  pat_list: [{<bash>} {<zsh>}]
                  action: [
                    (command.Simple
                      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
                    )
                  ]
                  spids: [340 343 356 -1]
                )
                (case_arm
                  pat_list: [{<osh>}]
                  action: [
                    (command.Simple
                      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
                    )
                  ]
                  spids: [359 360 373 -1]
                )
                (case_arm
                  pat_list: [{<dash>} {<mksh>}]
                  action: [
                    (command.Simple
                      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
                    )
                  ]
                  spids: [376 379 398 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [(C {<die>} {(DQ <'Invalid shell \''> ($ Id.VSub_DollarName '$name') <'\''>)})]
                  spids: [401 402 414 -1]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: _shell-id-hash
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number '$1')})
            (C {<local>} {<file>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$src') <'/version.txt'>}
                  spids: [442]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')})
                (C {<cat>} {($ Id.VSub_DollarName '$file')})
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$src') <'/dpkg-version.txt'>}
                  spids: [465]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')})
                (C {<egrep>} {(SQ <'^Version'>)} {($ Id.VSub_DollarName '$file')})
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$src') <'/osh-version.txt'>}
                  spids: [492]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')})
                (C {<egrep>} {(SQ <'^Oil version|^Interpreter'>)} {($ Id.VSub_DollarName '$file')})
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:file)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$src') <'/git-commit-hash.txt'>}
                  spids: [519]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')})
                (C {<cat>} {($ Id.VSub_DollarName '$file')})
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
    (command.ShFunction
      name: publish-shell-id
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number '$1')})
            (C {<local>} 
              {<Id.Lit_VarLike 'dest_base='> 
                (braced_var_sub
                  token: <Id.VSub_Number 2>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VTest_ColonHyphen ':-'>
                      arg_word: 
                        {<..> <Id.Lit_Slash '/'> <benchmark-data> <Id.Lit_Slash '/'> <shell-id>}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'name='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<basename>} {($ Id.VSub_DollarName '$src')})
                )
              }
            )
            (C {<local>} {<hash>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<_shell-id-hash>} {($ Id.VSub_DollarName '$src')})
                              (C {<md5sum>})
                            ]
                            negated: F
                          )
                      )
                    }
                  spids: [603]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'id='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name hash>
                    suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 0>} length:{<Id.Lit_Digits 8>})
                  )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'dest='> 
                (DQ ($ Id.VSub_DollarName '$dest_base') <'/'> ($ Id.VSub_DollarName '$name') <-> 
                  ($ Id.VSub_DollarName '$id')
                )
              }
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$dest')})
            (C {<cp>} {<--no-target-directory>} {<--recursive>} {($ Id.VSub_DollarName '$src') <'/'>} 
              {($ Id.VSub_DollarName '$dest') <'/'>}
            )
            (command.Simple
              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
            )
            (C {<log>} {(DQ <'Published shell ID to '> ($ Id.VSub_DollarName '$dest'))})
            (C {<echo>} {($ Id.VSub_DollarName '$id')})
          ]
        )
    )
    (command.ShFunction
      name: dump-host-id
      body: 
        (BraceGroup
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'out_dir='> 
                (braced_var_sub
                  token: <Id.VSub_Number 1>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VTest_ColonHyphen ':-'>
                      arg_word: 
                        {<_tmp> <Id.Lit_Slash '/'> <host-id> <Id.Lit_Slash '/'> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<hostname>})
                          )
                        }
                    )
                )
              }
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$out_dir')})
            (command.Simple
              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
              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
              children: [(C {<uname>} {<--kernel-release>}) (C {<uname>} {<--kernel-version>})]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$out_dir') <'/kernel.txt'>}
                )
              ]
            )
            (C {<_dump-if-exists>} {<'/etc/lsb-release'>} 
              {($ Id.VSub_DollarName '$out_dir') <'/lsb-release.txt'>}
            )
            (command.Simple
              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
              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
            )
          ]
        )
    )
    (command.ShFunction
      name: _host-id-hash
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number '$1')})
            (C {<cat>} {($ Id.VSub_DollarName '$src') <'/machine.txt'>})
            (C {<cat>} {($ Id.VSub_DollarName '$src') <'/kernel.txt'>})
            (C {<local>} {<Id.Lit_VarLike 'file='> ($ Id.VSub_DollarName '$src') <'/lsb-release.txt'>})
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<-f>} {($ Id.VSub_DollarName '$file')})
                (C {<cat>} {($ Id.VSub_DollarName '$file')})
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
    (command.ShFunction
      name: publish-host-id
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number '$1')})
            (C {<local>} 
              {<Id.Lit_VarLike 'dest_base='> 
                (braced_var_sub
                  token: <Id.VSub_Number 2>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VTest_ColonHyphen ':-'>
                      arg_word: 
                        {<..> <Id.Lit_Slash '/'> <benchmark-data> <Id.Lit_Slash '/'> <host-id>}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'name='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<basename>} {($ Id.VSub_DollarName '$src')})
                )
              }
            )
            (C {<local>} {<hash>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<_host-id-hash>} {($ Id.VSub_DollarName '$src')})
                              (C {<md5sum>})
                            ]
                            negated: F
                          )
                      )
                    }
                  spids: [996]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'id='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name hash>
                    suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 0>} length:{<Id.Lit_Digits 8>})
                  )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'dest='> 
                (DQ ($ Id.VSub_DollarName '$dest_base') <'/'> ($ Id.VSub_DollarName '$name') <-> 
                  ($ Id.VSub_DollarName '$id')
                )
              }
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$dest')})
            (C {<cp>} {<--no-target-directory>} {<--recursive>} {($ Id.VSub_DollarName '$src') <'/'>} 
              {($ Id.VSub_DollarName '$dest') <'/'>}
            )
            (command.Simple
              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
            )
            (C {<log>} {(DQ <'Published host ID to '> ($ Id.VSub_DollarName '$dest'))})
            (C {<echo>} {($ Id.VSub_DollarName '$id')})
          ]
        )
    )
    (command.ShFunction
      name: dump-compiler-id
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'cc='> ($ Id.VSub_Number '$1')})
            (C {<local>} 
              {<Id.Lit_VarLike 'out_dir='> 
                (braced_var_sub
                  token: <Id.VSub_Number 2>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VTest_ColonHyphen ':-'>
                      arg_word: 
                        {<_tmp> <Id.Lit_Slash '/'> <compiler-id> <Id.Lit_Slash '/'> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<basename>} {($ Id.VSub_DollarName '$cc')})
                          )
                        }
                    )
                )
              }
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$out_dir')})
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc')}
              arms: [
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <'/gcc'>}]
                  action: [(C {($ Id.VSub_DollarName '$cc')} {<--version>})]
                  spids: [1151 1153 1165 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <'/clang'>}]
                  action: [(C {($ Id.VSub_DollarName '$cc')} {<--version>})]
                  spids: [1168 1170 1182 -1]
                )
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$out_dir') <'/version.txt'>}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: test-compiler-id
      body: 
        (BraceGroup
          children: [
            (C {<dump-compiler-id>} {<gcc>})
            (C {<dump-compiler-id>} {($ Id.VSub_DollarName '$CLANG')})
            (C {<head>} {<'_tmp/compiler-id/'> <Id.Lit_Star '*'> <'/version.txt'>})
          ]
        )
    )
    (command.ShFunction
      name: _compiler-id-hash
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number '$1')})
            (command.Pipeline
              children: [
                (C {<cat>} {($ Id.VSub_DollarName '$src') <'/version.txt'>})
                (C {<grep>} {<-v>} {<InstalledDir>})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: publish-compiler-id
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<Id.Lit_VarLike 'src='> ($ Id.VSub_Number '$1')})
            (C {<local>} 
              {<Id.Lit_VarLike 'dest_base='> 
                (braced_var_sub
                  token: <Id.VSub_Number 2>
                  suffix_op: 
                    (suffix_op.Unary
                      tok: <Id.VTest_ColonHyphen ':-'>
                      arg_word: 
                        {<..> <Id.Lit_Slash '/'> <benchmark-data> <Id.Lit_Slash '/'> <compiler-id>}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'name='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<basename>} {($ Id.VSub_DollarName '$src')})
                )
              }
            )
            (C {<local>} {<hash>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<_compiler-id-hash>} {($ Id.VSub_DollarName '$src')})
                              (C {<md5sum>})
                            ]
                            negated: F
                          )
                      )
                    }
                  spids: [1305]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'id='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name hash>
                    suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 0>} length:{<Id.Lit_Digits 8>})
                  )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'dest='> 
                (DQ ($ Id.VSub_DollarName '$dest_base') <'/'> ($ Id.VSub_DollarName '$name') <-> 
                  ($ Id.VSub_DollarName '$id')
                )
              }
            )
            (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$dest')})
            (C {<cp>} {<--no-target-directory>} {<--recursive>} {($ Id.VSub_DollarName '$src') <'/'>} 
              {($ Id.VSub_DollarName '$dest') <'/'>}
            )
            (command.Simple
              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
            )
            (C {<log>} {(DQ <'Published compiler ID to '> ($ Id.VSub_DollarName '$dest'))})
            (C {<echo>} {($ Id.VSub_DollarName '$id')})
          ]
        )
    )
    (command.ShFunction
      name: shell-provenance
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<job_id>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:job_id)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<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>
                              }
                            )
                        )
                      )
                    }
                  spids: [1440]
                )
              ]
            )
            (C {<local>} {<host>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:host)
                  op: assign_op.Equal
                  rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<hostname>}))}
                  spids: [1467]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'out='> <'_tmp/'> (${ Id.VSub_Name host) <.> (${ Id.VSub_Name job_id) 
                <.provenance.txt>
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'tmp_dir='> <'_tmp/host-id/'> ($ Id.VSub_DollarName '$host')})
            (C {<dump-host-id>} {($ Id.VSub_DollarName '$tmp_dir')})
            (C {<local>} {<host_hash>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:host_hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<publish-host-id>} {($ Id.VSub_DollarName '$tmp_dir')})
                      )
                    }
                  spids: [1511]
                )
              ]
            )
            (C {<local>} {<shell_hash>})
            (command.ForEach
              iter_name: sh_path
              iter_words: [
                {<bash>}
                {<dash>}
                {<mksh>}
                {<zsh>}
                {<'bin/osh'>}
                {($ Id.VSub_DollarName '$OSH_OVM')}
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'name='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<basename>} {($ Id.VSub_DollarName '$sh_path')})
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:tmp_dir)
                          op: assign_op.Equal
                          rhs: {<'_tmp/shell-id/'> ($ Id.VSub_DollarName '$name')}
                          spids: [1563]
                        )
                      ]
                    )
                    (C {<dump-shell-id>} {($ Id.VSub_DollarName '$sh_path')} 
                      {($ Id.VSub_DollarName '$tmp_dir')}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:shell_hash)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<publish-shell-id>} {($ Id.VSub_DollarName '$tmp_dir')})
                              )
                            }
                          spids: [1576]
                        )
                      ]
                    )
                    (C {<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: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$out')}
                )
              ]
            )
            (C {<log>} {(DQ <'Wrote '> ($ Id.VSub_DollarName '$out'))})
            (C {<echo>} {($ Id.VSub_DollarName '$out')})
          ]
        )
    )
    (command.ShFunction
      name: compiler-provenance
      body: 
        (BraceGroup
          children: [
            (C {<local>} {<job_id>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:job_id)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (C {<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>
                              }
                            )
                        )
                      )
                    }
                  spids: [1640]
                )
              ]
            )
            (C {<local>} {<host>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:host)
                  op: assign_op.Equal
                  rhs: {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<hostname>}))}
                  spids: [1667]
                )
              ]
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'out='> <'_tmp/'> (${ Id.VSub_Name host) <.> (${ Id.VSub_Name job_id) 
                <.compiler-provenance.txt>
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'tmp_dir='> <'_tmp/host-id/'> ($ Id.VSub_DollarName '$host')})
            (C {<dump-host-id>} {($ Id.VSub_DollarName '$tmp_dir')})
            (C {<local>} {<host_hash>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:host_hash)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<publish-host-id>} {($ Id.VSub_DollarName '$tmp_dir')})
                      )
                    }
                  spids: [1711]
                )
              ]
            )
            (C {<local>} {<compiler_hash>})
            (command.ForEach
              iter_name: compiler_path
              iter_words: [
                {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<which>} {<gcc>}))}
                {($ Id.VSub_DollarName '$CLANG')}
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'name='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<basename>} {($ Id.VSub_DollarName '$compiler_path')})
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:tmp_dir)
                          op: assign_op.Equal
                          rhs: {<'_tmp/compiler-id/'> ($ Id.VSub_DollarName '$name')}
                          spids: [1759]
                        )
                      ]
                    )
                    (C {<dump-compiler-id>} {($ Id.VSub_DollarName '$compiler_path')} 
                      {($ Id.VSub_DollarName '$tmp_dir')}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:compiler_hash)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<publish-compiler-id>} {($ Id.VSub_DollarName '$tmp_dir')})
                              )
                            }
                          spids: [1772]
                        )
                      ]
                    )
                    (C {<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: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$out')}
                )
              ]
            )
            (C {<log>} {(DQ <'Wrote '> ($ Id.VSub_DollarName '$out'))})
            (C {<echo>} {($ Id.VSub_DollarName '$out')})
          ]
        )
    )
    (C {(DQ ($ Id.VSub_At '$@'))})
  ]
)