(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: 
            {(SQ (Token id:Id.Lit_Chars val:'Tests git rev-list --bisect functionality' span_id:14))}
          spids: [12]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-t6000.sh)})
    (command.ShFunction
      name: test_bisection_diff
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_max_diff)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [52]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_bisect_option)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$2')}
                  spids: [56]
                )
              ]
            )
            (C {(shift)} {(2)})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_bisection)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:66)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(git)} {(rev-list)} {($ Id.VSub_DollarName '$_bisect_option')} 
                                {(DQ ($ Id.VSub_At '$@'))}
                              )
                            ]
                          )
                      )
                    }
                  spids: [65]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_list_size)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:80)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(git)} {(rev-list)} {(DQ ($ Id.VSub_At '$@'))})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [79]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_head)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [97]
                )
              ]
            )
            (C {(shift)} {(1)})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_bisection_size)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:107)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(git)} {(rev-list)} {($ Id.VSub_DollarName '$_bisection')} 
                                    {(DQ ($ Id.VSub_At '$@'))}
                                  )
                                  (C {(wc)} {(-l)})
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [106]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(Id.Lit_LBracket '[')} {(-n)} {(DQ ($ Id.VSub_DollarName '$_list_size'))} {(-a)} 
                  {(-n)} {(DQ ($ Id.VSub_DollarName '$_bisection_size'))} {(Id.Lit_RBracket ']')}
                )
                (C {(error)} {(DQ ('test_bisection_diff failed'))})
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_bisect_err)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:168)
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {(expr)} {($ Id.VSub_DollarName '$_list_size')} {(-)} 
                                {($ Id.VSub_DollarName '$_bisection_size')} {(word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\*' span_id:177))} {(2)}
                              )
                            ]
                          )
                      )
                    }
                  spids: [167]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {(test)} {(DQ ($ Id.VSub_DollarName '$_bisect_err'))} {(-lt)} {(0)})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:_bisect_err)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:196)
                            command_list: 
                              (command.CommandList
                                children: [
                                  (C {(expr)} {(0)} {(-)} {($ Id.VSub_DollarName '$_bisect_err')})
                                ]
                              )
                          )
                        }
                      spids: [195]
                    )
                  ]
                )
              ]
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:_bisect_err)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:208)
                            command_list: 
                              (command.CommandList
                                children: [
                                  (C {(expr)} {($ Id.VSub_DollarName '$_bisect_err')} {(/)} {(2)})
                                ]
                              )
                          )
                        }
                      spids: [207]
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:218)
            )
            (C {(test_expect_success)} 
              {
                (DQ ('bisection diff ') ($ Id.VSub_DollarName '$_bisect_option') (' ') 
                  ($ Id.VSub_DollarName '$_head') (' ') ($ Id.VSub_Star '$*') (' <= ') ($ Id.VSub_DollarName '$_max_diff')
                )
              } {(SQ (Token id:Id.Lit_Chars val:'test $_bisect_err -le $_max_diff' span_id:243))}
            )
          ]
        )
    )
    (command.Simple
      words: [{(date)}]
      redirects: [
        (redir.Redir op:(Token id:Id.Redir_Great val:'>' span_id:251) fd:-1 arg_word:{(path0)})
      ]
    )
    (C {(git)} {(update-index)} {(--add)} {(path0)})
    (C {(save_tag)} {(tree)} {(git)} {(write-tree)})
    (C {(on_committer_date)} {(DQ ('00:00'))} {(hide_error)} {(save_tag)} {(root)} {(unique_commit)} 
      {(root)} {(tree)}
    )
    (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(l0)} {(unique_commit)} {(l0)} {(tree)} {(-p)} 
      {(root)}
    )
    (C {(on_committer_date)} {(DQ ('00:02'))} {(save_tag)} {(l1)} {(unique_commit)} {(l1)} {(tree)} {(-p)} 
      {(l0)}
    )
    (C {(on_committer_date)} {(DQ ('00:03'))} {(save_tag)} {(l2)} {(unique_commit)} {(l2)} {(tree)} {(-p)} 
      {(l1)}
    )
    (C {(on_committer_date)} {(DQ ('00:04'))} {(save_tag)} {(a0)} {(unique_commit)} {(a0)} {(tree)} {(-p)} 
      {(l2)}
    )
    (C {(on_committer_date)} {(DQ ('00:05'))} {(save_tag)} {(a1)} {(unique_commit)} {(a1)} {(tree)} {(-p)} 
      {(a0)}
    )
    (C {(on_committer_date)} {(DQ ('00:06'))} {(save_tag)} {(b1)} {(unique_commit)} {(b1)} {(tree)} {(-p)} 
      {(a0)}
    )
    (C {(on_committer_date)} {(DQ ('00:07'))} {(save_tag)} {(c1)} {(unique_commit)} {(c1)} {(tree)} {(-p)} 
      {(b1)}
    )
    (C {(on_committer_date)} {(DQ ('00:08'))} {(save_tag)} {(b2)} {(unique_commit)} {(b2)} {(tree)} {(-p)} 
      {(b1)}
    )
    (C {(on_committer_date)} {(DQ ('00:09'))} {(save_tag)} {(b3)} {(unique_commit)} {(b2)} {(tree)} {(-p)} 
      {(b2)}
    )
    (C {(on_committer_date)} {(DQ ('00:10'))} {(save_tag)} {(c2)} {(unique_commit)} {(c2)} {(tree)} {(-p)} 
      {(c1)} {(-p)} {(b2)}
    )
    (C {(on_committer_date)} {(DQ ('00:11'))} {(save_tag)} {(c3)} {(unique_commit)} {(c3)} {(tree)} {(-p)} 
      {(c2)}
    )
    (C {(on_committer_date)} {(DQ ('00:12'))} {(save_tag)} {(a2)} {(unique_commit)} {(a2)} {(tree)} {(-p)} 
      {(a1)}
    )
    (C {(on_committer_date)} {(DQ ('00:13'))} {(save_tag)} {(a3)} {(unique_commit)} {(a3)} {(tree)} {(-p)} 
      {(a2)}
    )
    (C {(on_committer_date)} {(DQ ('00:14'))} {(save_tag)} {(b4)} {(unique_commit)} {(b4)} {(tree)} {(-p)} 
      {(b3)} {(-p)} {(a3)}
    )
    (C {(on_committer_date)} {(DQ ('00:15'))} {(save_tag)} {(a4)} {(unique_commit)} {(a4)} {(tree)} {(-p)} 
      {(a3)} {(-p)} {(b4)} {(-p)} {(c3)}
    )
    (C {(on_committer_date)} {(DQ ('00:16'))} {(save_tag)} {(l3)} {(unique_commit)} {(l3)} {(tree)} {(-p)} 
      {(a4)}
    )
    (C {(on_committer_date)} {(DQ ('00:17'))} {(save_tag)} {(l4)} {(unique_commit)} {(l4)} {(tree)} {(-p)} 
      {(l3)}
    )
    (C {(on_committer_date)} {(DQ ('00:18'))} {(save_tag)} {(l5)} {(unique_commit)} {(l5)} {(tree)} {(-p)} 
      {(l4)}
    )
    (C {(git)} {(update-ref)} {(HEAD)} 
      {
        (command_sub
          left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:670)
          command_list: (command.CommandList children:[(C {(tag)} {(l5)})])
        )
      }
    )
    (C {(on_committer_date)} {(DQ ('00:00'))} {(hide_error)} {(save_tag)} {(F)} {(unique_commit)} {(F)} 
      {(tree)}
    )
    (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(e8)} {(unique_commit)} {(e8)} {(tree)} {(-p)} 
      {(F)}
    )
    (C {(on_committer_date)} {(DQ ('00:02'))} {(save_tag)} {(e7)} {(unique_commit)} {(e7)} {(tree)} {(-p)} 
      {(e8)}
    )
    (C {(on_committer_date)} {(DQ ('00:03'))} {(save_tag)} {(e6)} {(unique_commit)} {(e6)} {(tree)} {(-p)} 
      {(e7)}
    )
    (C {(on_committer_date)} {(DQ ('00:04'))} {(save_tag)} {(e5)} {(unique_commit)} {(e5)} {(tree)} {(-p)} 
      {(e6)}
    )
    (C {(on_committer_date)} {(DQ ('00:05'))} {(save_tag)} {(f4)} {(unique_commit)} {(f4)} {(tree)} {(-p)} 
      {(F)}
    )
    (C {(on_committer_date)} {(DQ ('00:06'))} {(save_tag)} {(f3)} {(unique_commit)} {(f3)} {(tree)} {(-p)} 
      {(f4)}
    )
    (C {(on_committer_date)} {(DQ ('00:07'))} {(save_tag)} {(f2)} {(unique_commit)} {(f2)} {(tree)} {(-p)} 
      {(f3)}
    )
    (C {(on_committer_date)} {(DQ ('00:08'))} {(save_tag)} {(f1)} {(unique_commit)} {(f1)} {(tree)} {(-p)} 
      {(f2)}
    )
    (C {(on_committer_date)} {(DQ ('00:09'))} {(save_tag)} {(e4)} {(unique_commit)} {(e4)} {(tree)} {(-p)} 
      {(e5)}
    )
    (C {(on_committer_date)} {(DQ ('00:10'))} {(save_tag)} {(e3)} {(unique_commit)} {(e3)} {(tree)} {(-p)} 
      {(e4)}
    )
    (C {(on_committer_date)} {(DQ ('00:11'))} {(save_tag)} {(e2)} {(unique_commit)} {(e2)} {(tree)} {(-p)} 
      {(e3)}
    )
    (C {(on_committer_date)} {(DQ ('00:12'))} {(save_tag)} {(e1)} {(unique_commit)} {(e1)} {(tree)} {(-p)} 
      {(e2)}
    )
    (C {(on_committer_date)} {(DQ ('00:13'))} {(save_tag)} {(E)} {(unique_commit)} {(E)} {(tree)} {(-p)} 
      {(e1)} {(-p)} {(f1)}
    )
    (C {(on_committer_date)} {(DQ ('00:00'))} {(hide_error)} {(save_tag)} {(U)} {(unique_commit)} {(U)} 
      {(tree)}
    )
    (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(u0)} {(unique_commit)} {(u0)} {(tree)} {(-p)} 
      {(U)}
    )
    (C {(on_committer_date)} {(DQ ('00:01'))} {(save_tag)} {(u1)} {(unique_commit)} {(u1)} {(tree)} {(-p)} 
      {(u0)}
    )
    (C {(on_committer_date)} {(DQ ('00:02'))} {(save_tag)} {(u2)} {(unique_commit)} {(u2)} {(tree)} {(-p)} 
      {(u0)}
    )
    (C {(on_committer_date)} {(DQ ('00:03'))} {(save_tag)} {(u3)} {(unique_commit)} {(u3)} {(tree)} {(-p)} 
      {(u0)}
    )
    (C {(on_committer_date)} {(DQ ('00:04'))} {(save_tag)} {(u4)} {(unique_commit)} {(u4)} {(tree)} {(-p)} 
      {(u0)}
    )
    (C {(on_committer_date)} {(DQ ('00:05'))} {(save_tag)} {(u5)} {(unique_commit)} {(u5)} {(tree)} {(-p)} 
      {(u0)}
    )
    (C {(on_committer_date)} {(DQ ('00:06'))} {(save_tag)} {(V)} {(unique_commit)} {(V)} {(tree)} {(-p)} 
      {(u1)} {(-p)} {(u2)} {(-p)} {(u3)} {(-p)} {(u4)} {(-p)} {(u5)}
    )
    (command.ShFunction
      name: test_sequence
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_bisect_option)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number '$1')}
                  spids: [1226]
                )
              ]
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(l0)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(l1)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(l2)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a0)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a1)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a2)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(a3)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(b1)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(b2)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(b3)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(c1)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(c2)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(c3)} 
              {(Id.Lit_Other '^') (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(E)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e1)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e2)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e3)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e4)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e5)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e6)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(e7)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f1)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f2)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f3)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(f4)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(E)} 
              {(Id.Lit_Other '^') (F)}
            )
            (C {(test_bisection_diff)} {(1)} {($ Id.VSub_DollarName '$_bisect_option')} {(V)} 
              {(Id.Lit_Other '^') (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(V)} 
              {(Id.Lit_Other '^') (U)} {(Id.Lit_Other '^') (u1)} {(Id.Lit_Other '^') (u2)} {(Id.Lit_Other '^') (u3)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u1)} 
              {(Id.Lit_Other '^') (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u2)} 
              {(Id.Lit_Other '^') (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u3)} 
              {(Id.Lit_Other '^') (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u4)} 
              {(Id.Lit_Other '^') (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ Id.VSub_DollarName '$_bisect_option')} {(u5)} 
              {(Id.Lit_Other '^') (U)}
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^root'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option l5 ^root'
                      span_id: 1673
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1676)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1681
                  stdin_parts: [('c3\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^root ^c3'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option l5 ^root ^c3'
                      span_id: 1691
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1694)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1699
                  stdin_parts: [('b4\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^root ^c3 ^b4'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option l5 ^c3 ^b4'
                      span_id: 1709
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1712)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1717
                  stdin_parts: [('l3\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l3 ^root ^c3 ^b4'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option l3 ^root ^c3 ^b4'
                      span_id: 1727
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1730)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1735
                  stdin_parts: [('a4\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l5 ^b3 ^a3 ^b4 ^a4'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option l3 ^b3 ^a3 ^a4'
                      span_id: 1745
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1748)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1753
                  stdin_parts: [('l3\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l4 ^a2 ^a3 ^b ^a4'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option l4 ^a2 ^a3 ^a4'
                      span_id: 1773
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1776)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1781
                  stdin_parts: [('l3\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' l3 ^a2 ^a3 ^b ^a4'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option l3 ^a2 ^a3 ^a4'
                      span_id: 1791
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1794)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1799
                  stdin_parts: [('l3\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4'
                      span_id: 1823
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1826)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1831
                  stdin_parts: [('c2\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4 ^c2'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2'
                      span_id: 1841
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1844)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1849
                  stdin_parts: [('c3\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4 ^c2 ^c3'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2 ^c3'
                      span_id: 1859
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1862)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1867
                  stdin_parts: [('a4\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' a4 ^a2 ^a3 ^b4'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option a4 ^a2 ^a3 ^b4'
                      span_id: 1891
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1894)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1899
                  stdin_parts: [('c2\n')]
                )
              ]
            )
            (command.Simple
              words: [
                {(test_output_expect_success)}
                {(DQ ($ Id.VSub_DollarName '$_bisect_option') (' c3 ^a2 ^a3 ^b4 ^c2'))}
                {
                  (SQ 
                    (Token
                      id: Id.Lit_Chars
                      val: 'git rev-list $_bisect_option c3 ^a2 ^a3 ^b4 ^c2'
                      span_id: 1909
                    )
                  )
                }
              ]
              redirects: [
                (redir.HereDoc
                  op: (Token id:Id.Redir_DLess val:'<<' span_id:1912)
                  fd: -1
                  here_begin: {(EOF)}
                  here_end_span_id: 1917
                  stdin_parts: [('c3\n')]
                )
              ]
            )
          ]
        )
    )
    (C {(test_sequence)} {(DQ (--bisect))})
    (C {(test_done)})
  ]
)