(command.CommandList
  children: [
    (C {<Id.KW_Set set>} {<-eu>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:executable)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name BUILT_PRODUCTS_DIR) <'/'> (${ Id.VSub_Name EXECUTABLE_PATH))}
          spids: [77]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C {<xcrun>} {<otool>} {<-arch>} {<i386>} {<-o>} {(DQ (${ Id.VSub_Name executable))})
                    (C {<grep>} {<-q>} {(SQ <'^Contents.*section$'>)})
                  ]
                  negated: F
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ (${ Id.VSub_Number 0) <': '> (${ Id.VSub_Name executable) 
                    <' has an __OBJC,__image_info section'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [89 119]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_ne
                      left: 
                        {
                          (braced_var_sub
                            token: <Id.VSub_Name PIPESTATUS>
                            bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>})
                          )
                        }
                      right: {<0>}
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Simple
              words: [{<echo>} {(DQ (${ Id.VSub_Number 0) <': otool failed'>)}]
              redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [146 164]
        )
      ]
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)