(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"Tests git rev-list --bisect functionality">)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ VSub_Name "$TEST_DIRECTORY")) (/lib-t6000.sh)})
    (FuncDef
      name: test_bisection_diff
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_max_diff)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [52]
                )
              ]
              spids: [52]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_bisect_option)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [56]
                )
              ]
              spids: [56]
            )
            (C {(shift)} {(2)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_bisection)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(rev-list)} {($ VSub_Name "$_bisect_option")} 
                                {(DQ ($ VSub_At "$@"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [66 76]
                      )
                    }
                  spids: [65]
                )
              ]
              spids: [65]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_list_size)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(rev-list)} {(DQ ($ VSub_At "$@"))})
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [80 94]
                      )
                    }
                  spids: [79]
                )
              ]
              spids: [79]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_head)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [97]
                )
              ]
              spids: [97]
            )
            (C {(shift)} {(1)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_bisection_size)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(rev-list)} {($ VSub_Name "$_bisection")} 
                                    {(DQ ($ VSub_At "$@"))}
                                  )
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [107 123]
                      )
                    }
                  spids: [106]
                )
              ]
              spids: [106]
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$_list_size"))} {(-a)} {(-n)} 
                  {(DQ ($ VSub_Name "$_bisection_size"))} {(Lit_Other "]")}
                )
                (C {(error)} {(DQ ("test_bisection_diff failed"))})
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_bisect_err)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(expr)} {($ VSub_Name "$_list_size")} {(-)} 
                                {($ VSub_Name "$_bisection_size")} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">)} {(2)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [168 180]
                      )
                    }
                  spids: [167]
                )
              ]
              spids: [167]
            )
            (AndOr
              children: [
                (C {(test)} {(DQ ($ VSub_Name "$_bisect_err"))} {(-lt)} {(0)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_bisect_err)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(expr)} {(0)} {(-)} {($ VSub_Name "$_bisect_err")})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [196 204]
                          )
                        }
                      spids: [195]
                    )
                  ]
                  spids: [195]
                )
              ]
              op_id: Op_DAmp
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_bisect_err)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(expr)} {($ VSub_Name "$_bisect_err")} {(/)} {(2)})]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [208 216]
                          )
                        }
                      spids: [207]
                    )
                  ]
                  spids: [207]
                )
              terminator: <Op_Semi ";">
            )
            (C {(test_expect_success)} 
              {
                (DQ ("bisection diff ") ($ VSub_Name "$_bisect_option") (" ") ($ VSub_Name "$_head") 
                  (" ") ($ VSub_Star "$*") (" <= ") ($ VSub_Name "$_max_diff")
                )
              } {(SQ <"test $_bisect_err -le $_max_diff">)}
            )
          ]
          spids: [49]
        )
      spids: [45 48]
    )
    (SimpleCommand
      words: [{(date)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(path0)} spids:[251])]
    )
    (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)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(tag)} {(l5)})])
          left_token: <Left_CommandSub "$(">
          spids: [670 674]
        )
      }
    )
    (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)}
    )
    (FuncDef
      name: test_sequence
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_bisect_option)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [1226]
                )
              ]
              spids: [1226]
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(l0)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(l1)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(l2)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(a0)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(a1)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(a2)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(a3)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(b1)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(b2)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(b3)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(c1)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(c2)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(c3)} 
              {(Lit_Other "^") (root)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(E)} {(Lit_Other "^") (F)})
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(e1)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(e2)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(e3)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(e4)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(e5)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(e6)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(e7)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(f1)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(f2)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(f3)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(f4)} 
              {(Lit_Other "^") (F)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(E)} {(Lit_Other "^") (F)})
            (C {(test_bisection_diff)} {(1)} {($ VSub_Name "$_bisect_option")} {(V)} {(Lit_Other "^") (U)})
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(V)} {(Lit_Other "^") (U)} 
              {(Lit_Other "^") (u1)} {(Lit_Other "^") (u2)} {(Lit_Other "^") (u3)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(u1)} 
              {(Lit_Other "^") (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(u2)} 
              {(Lit_Other "^") (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(u3)} 
              {(Lit_Other "^") (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(u4)} 
              {(Lit_Other "^") (U)}
            )
            (C {(test_bisection_diff)} {(0)} {($ VSub_Name "$_bisect_option")} {(u5)} 
              {(Lit_Other "^") (U)}
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" l5 ^root"))}
                {(SQ <"git rev-list $_bisect_option l5 ^root">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("c3\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1676]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" l5 ^root ^c3"))}
                {(SQ <"git rev-list $_bisect_option l5 ^root ^c3">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("b4\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1692]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" l5 ^root ^c3 ^b4"))}
                {(SQ <"git rev-list $_bisect_option l5 ^c3 ^b4">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("l3\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1708]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" l3 ^root ^c3 ^b4"))}
                {(SQ <"git rev-list $_bisect_option l3 ^root ^c3 ^b4">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("a4\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1724]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" l5 ^b3 ^a3 ^b4 ^a4"))}
                {(SQ <"git rev-list $_bisect_option l3 ^b3 ^a3 ^a4">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("l3\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1740]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" l4 ^a2 ^a3 ^b ^a4"))}
                {(SQ <"git rev-list $_bisect_option l4 ^a2 ^a3 ^a4">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("l3\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1766]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" l3 ^a2 ^a3 ^b ^a4"))}
                {(SQ <"git rev-list $_bisect_option l3 ^a2 ^a3 ^a4">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("l3\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1782]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" a4 ^a2 ^a3 ^b4"))}
                {(SQ <"git rev-list $_bisect_option a4 ^a2 ^a3 ^b4">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("c2\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1812]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" a4 ^a2 ^a3 ^b4 ^c2"))}
                {(SQ <"git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("c3\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1828]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" a4 ^a2 ^a3 ^b4 ^c2 ^c3"))}
                {(SQ <"git rev-list $_bisect_option a4 ^a2 ^a3 ^b4 ^c2 ^c3">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("a4\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1844]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" a4 ^a2 ^a3 ^b4"))}
                {(SQ <"git rev-list $_bisect_option a4 ^a2 ^a3 ^b4">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("c2\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1874]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(test_output_expect_success)}
                {(DQ ($ VSub_Name "$_bisect_option") (" c3 ^a2 ^a3 ^b4 ^c2"))}
                {(SQ <"git rev-list $_bisect_option c3 ^a2 ^a3 ^b4 ^c2">)}
              ]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("c3\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1890]
                )
              ]
            )
          ]
          spids: [1223]
        )
      spids: [1219 1222]
    )
    (C {(test_sequence)} {(DQ (--bisect))})
    (C {(test_done)})
  ]
)