(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP)
          op: Equal
          rhs: {(/tmp/mtree.) ($ VSub_Dollar '$$')}
          spids: [33]
        )
      ]
      spids: [33]
    )
    (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
    (C {(mkdir)} {(-p)} {(${ VSub_Name TMP)} {(${ VSub_Name TMP) (/mr)} {(${ VSub_Name TMP) (/mt)})
    (C {(touch)} {(-t)} {(199901020304)} {(${ VSub_Name TMP) (/mr/oldfile)})
    (C {(touch)} {(${ VSub_Name TMP) (/mt/oldfile)})
    (SimpleCommand
      words: [{(mtree)} {(-c)} {(-p)} {(${ VSub_Name TMP) (/mr)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(${ VSub_Name TMP) (/_)} spids:[95])]
    )
    (SimpleCommand
      words: [{(mtree)} {(-U)} {(-r)} {(-p)} {(${ VSub_Name TMP) (/mt)}]
      redirects: [
        (Redir op_id:Redir_Less fd:16777215 arg_word:{(${ VSub_Name TMP) (/_)} spids:[117])
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[124])
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:x)
          op: Equal
          rhs: 
            {(x) 
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (AndOr
                        ops: [Op_DPipe]
                        children: [
                          (Subshell
                            child: 
                              (CommandList
                                children: [
                                  (Sentence
                                    child: (C {(cd)} {(${ VSub_Name TMP) (/mr)})
                                    terminator: <Op_Semi ';'>
                                  )
                                  (SimpleCommand
                                    words: [{(ls)} {(-l)}]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(1)}
                                        spids: [146]
                                      )
                                    ]
                                  )
                                ]
                              )
                            spids: [132 148]
                          )
                          (C {(true)})
                        ]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [131 153]
              )
            }
          spids: [129]
        )
      ]
      spids: [129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:y)
          op: Equal
          rhs: 
            {(x) 
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (AndOr
                        ops: [Op_DPipe]
                        children: [
                          (Subshell
                            child: 
                              (CommandList
                                children: [
                                  (Sentence
                                    child: (C {(cd)} {(${ VSub_Name TMP) (/mt)})
                                    terminator: <Op_Semi ';'>
                                  )
                                  (SimpleCommand
                                    words: [{(ls)} {(-l)}]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(1)}
                                        spids: [172]
                                      )
                                    ]
                                  )
                                ]
                              )
                            spids: [158 174]
                          )
                          (C {(true)})
                        ]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [157 179]
              )
            }
          spids: [155]
        )
      ]
      spids: [155]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$x'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ ($ VSub_Name '$y'))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('ERROR Update of mtime failed'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[210])]
            )
            (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 201]
        )
      ]
      spids: [16777215 227]
    )
    (C {(rm)} {(-rf)} {(${ VSub_Name TMP)})
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)