WORST_CASE(Omega(n^1),O(n^2)) proof of /export/starexec/sandbox2/benchmark/theBenchmark.trs # AProVE Commit ID: c69e44bd14796315568835c1ffa2502984884775 mhark 20210624 unpublished The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). (0) CpxRelTRS (1) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 2072 ms] (2) CpxRelTRS (3) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (4) CpxWeightedTrs (5) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxTypedWeightedTrs (7) CompletionProof [UPPER BOUND(ID), 16 ms] (8) CpxTypedWeightedCompleteTrs (9) NarrowingProof [BOTH BOUNDS(ID, ID), 101 ms] (10) CpxTypedWeightedCompleteTrs (11) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 11 ms] (12) CpxRNTS (13) InliningProof [UPPER BOUND(ID), 4148 ms] (14) CpxRNTS (15) SimplificationProof [BOTH BOUNDS(ID, ID), 18 ms] (16) CpxRNTS (17) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxRNTS (19) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (20) CpxRNTS (21) IntTrsBoundProof [UPPER BOUND(ID), 577 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 83 ms] (24) CpxRNTS (25) ResultPropagationProof [UPPER BOUND(ID), 11 ms] (26) CpxRNTS (27) IntTrsBoundProof [UPPER BOUND(ID), 263 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 46 ms] (30) CpxRNTS (31) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (32) CpxRNTS (33) IntTrsBoundProof [UPPER BOUND(ID), 183 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 54 ms] (36) CpxRNTS (37) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (38) CpxRNTS (39) IntTrsBoundProof [UPPER BOUND(ID), 263 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 75 ms] (42) CpxRNTS (43) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (44) CpxRNTS (45) IntTrsBoundProof [UPPER BOUND(ID), 38 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 42 ms] (48) CpxRNTS (49) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (50) CpxRNTS (51) IntTrsBoundProof [UPPER BOUND(ID), 1371 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 156 ms] (54) CpxRNTS (55) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (56) CpxRNTS (57) IntTrsBoundProof [UPPER BOUND(ID), 444 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 28 ms] (60) CpxRNTS (61) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (62) CpxRNTS (63) IntTrsBoundProof [UPPER BOUND(ID), 190 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (66) CpxRNTS (67) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (68) CpxRNTS (69) IntTrsBoundProof [UPPER BOUND(ID), 282 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 150 ms] (72) CpxRNTS (73) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (74) CpxRNTS (75) IntTrsBoundProof [UPPER BOUND(ID), 924 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 65 ms] (78) CpxRNTS (79) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (80) CpxRNTS (81) IntTrsBoundProof [UPPER BOUND(ID), 131 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 94 ms] (84) CpxRNTS (85) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (86) CpxRNTS (87) IntTrsBoundProof [UPPER BOUND(ID), 382 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 138 ms] (90) CpxRNTS (91) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (92) CpxRNTS (93) IntTrsBoundProof [UPPER BOUND(ID), 460 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 107 ms] (96) CpxRNTS (97) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (98) CpxRNTS (99) IntTrsBoundProof [UPPER BOUND(ID), 158 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 64 ms] (102) CpxRNTS (103) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (104) CpxRNTS (105) IntTrsBoundProof [UPPER BOUND(ID), 190 ms] (106) CpxRNTS (107) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (108) CpxRNTS (109) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (110) CpxRNTS (111) IntTrsBoundProof [UPPER BOUND(ID), 174 ms] (112) CpxRNTS (113) IntTrsBoundProof [UPPER BOUND(ID), 35 ms] (114) CpxRNTS (115) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (116) CpxRNTS (117) IntTrsBoundProof [UPPER BOUND(ID), 1259 ms] (118) CpxRNTS (119) IntTrsBoundProof [UPPER BOUND(ID), 73 ms] (120) CpxRNTS (121) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (122) CpxRNTS (123) IntTrsBoundProof [UPPER BOUND(ID), 262 ms] (124) CpxRNTS (125) IntTrsBoundProof [UPPER BOUND(ID), 25 ms] (126) CpxRNTS (127) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (128) CpxRNTS (129) IntTrsBoundProof [UPPER BOUND(ID), 539 ms] (130) CpxRNTS (131) IntTrsBoundProof [UPPER BOUND(ID), 56 ms] (132) CpxRNTS (133) ResultPropagationProof [UPPER BOUND(ID), 5 ms] (134) CpxRNTS (135) IntTrsBoundProof [UPPER BOUND(ID), 282 ms] (136) CpxRNTS (137) IntTrsBoundProof [UPPER BOUND(ID), 23 ms] (138) CpxRNTS (139) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (140) CpxRNTS (141) IntTrsBoundProof [UPPER BOUND(ID), 351 ms] (142) CpxRNTS (143) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] (144) CpxRNTS (145) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (146) CpxRNTS (147) IntTrsBoundProof [UPPER BOUND(ID), 213 ms] (148) CpxRNTS (149) IntTrsBoundProof [UPPER BOUND(ID), 64 ms] (150) CpxRNTS (151) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (152) CpxRNTS (153) IntTrsBoundProof [UPPER BOUND(ID), 312 ms] (154) CpxRNTS (155) IntTrsBoundProof [UPPER BOUND(ID), 63 ms] (156) CpxRNTS (157) ResultPropagationProof [UPPER BOUND(ID), 2 ms] (158) CpxRNTS (159) IntTrsBoundProof [UPPER BOUND(ID), 431 ms] (160) CpxRNTS (161) IntTrsBoundProof [UPPER BOUND(ID), 114 ms] (162) CpxRNTS (163) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (164) CpxRNTS (165) IntTrsBoundProof [UPPER BOUND(ID), 180 ms] (166) CpxRNTS (167) IntTrsBoundProof [UPPER BOUND(ID), 44 ms] (168) CpxRNTS (169) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (170) CpxRNTS (171) IntTrsBoundProof [UPPER BOUND(ID), 451 ms] (172) CpxRNTS (173) IntTrsBoundProof [UPPER BOUND(ID), 115 ms] (174) CpxRNTS (175) ResultPropagationProof [UPPER BOUND(ID), 8 ms] (176) CpxRNTS (177) IntTrsBoundProof [UPPER BOUND(ID), 1021 ms] (178) CpxRNTS (179) IntTrsBoundProof [UPPER BOUND(ID), 281 ms] (180) CpxRNTS (181) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (182) CpxRNTS (183) IntTrsBoundProof [UPPER BOUND(ID), 734 ms] (184) CpxRNTS (185) IntTrsBoundProof [UPPER BOUND(ID), 122 ms] (186) CpxRNTS (187) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (188) CpxRNTS (189) IntTrsBoundProof [UPPER BOUND(ID), 178 ms] (190) CpxRNTS (191) IntTrsBoundProof [UPPER BOUND(ID), 32 ms] (192) CpxRNTS (193) ResultPropagationProof [UPPER BOUND(ID), 7 ms] (194) CpxRNTS (195) IntTrsBoundProof [UPPER BOUND(ID), 1760 ms] (196) CpxRNTS (197) IntTrsBoundProof [UPPER BOUND(ID), 361 ms] (198) CpxRNTS (199) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (200) CpxRNTS (201) IntTrsBoundProof [UPPER BOUND(ID), 5907 ms] (202) CpxRNTS (203) IntTrsBoundProof [UPPER BOUND(ID), 1572 ms] (204) CpxRNTS (205) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (206) CpxRNTS (207) IntTrsBoundProof [UPPER BOUND(ID), 69 ms] (208) CpxRNTS (209) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (210) CpxRNTS (211) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (212) CpxRNTS (213) IntTrsBoundProof [UPPER BOUND(ID), 6146 ms] (214) CpxRNTS (215) IntTrsBoundProof [UPPER BOUND(ID), 873 ms] (216) CpxRNTS (217) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (218) CpxRNTS (219) IntTrsBoundProof [UPPER BOUND(ID), 149 ms] (220) CpxRNTS (221) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (222) CpxRNTS (223) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (224) CpxRNTS (225) IntTrsBoundProof [UPPER BOUND(ID), 3121 ms] (226) CpxRNTS (227) IntTrsBoundProof [UPPER BOUND(ID), 145 ms] (228) CpxRNTS (229) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (230) CpxRNTS (231) IntTrsBoundProof [UPPER BOUND(ID), 3172 ms] (232) CpxRNTS (233) IntTrsBoundProof [UPPER BOUND(ID), 274 ms] (234) CpxRNTS (235) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (236) CpxRNTS (237) IntTrsBoundProof [UPPER BOUND(ID), 234 ms] (238) CpxRNTS (239) IntTrsBoundProof [UPPER BOUND(ID), 25 ms] (240) CpxRNTS (241) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (242) CpxRNTS (243) IntTrsBoundProof [UPPER BOUND(ID), 321 ms] (244) CpxRNTS (245) IntTrsBoundProof [UPPER BOUND(ID), 54 ms] (246) CpxRNTS (247) FinalProof [FINISHED, 0 ms] (248) BOUNDS(1, n^2) (249) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (250) TRS for Loop Detection (251) DecreasingLoopProof [LOWER BOUND(ID), 354 ms] (252) BEST (253) proven lower bound (254) LowerBoundPropagationProof [FINISHED, 0 ms] (255) BOUNDS(n^1, INF) (256) TRS for Loop Detection ---------------------------------------- (0) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c15 #ABS(#neg(z0)) -> c16 #ABS(#pos(z0)) -> c17 #ABS(#s(z0)) -> c18 #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) APPEND#1(nil, z0) -> c22 APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) APPENDD#1(nil, z0) -> c25 QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) QUICKSORT#1(nil) -> c28 QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) QUICKSORTD#1(nil) -> c33 QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) SPLIT#1(nil, z0) -> c38 SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLIT#3(#false, z0, z1, z2) -> c40 SPLIT#3(#true, z0, z1, z2) -> c41 SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) SPLITD#1(nil, z0) -> c44 SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLITD#3(#false, z0, z1, z2) -> c46 SPLITD#3(#true, z0, z1, z2) -> c47 TESTLIST(z0) -> c48(#ABS(#0)) TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) The (relative) TRS S consists of the following rules: #CKGT(#EQ) -> c #CKGT(#GT) -> c1 #CKGT(#LT) -> c2 #COMPARE(#0, #0) -> c3 #COMPARE(#0, #neg(z0)) -> c4 #COMPARE(#0, #pos(z0)) -> c5 #COMPARE(#0, #s(z0)) -> c6 #COMPARE(#neg(z0), #0) -> c7 #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c9 #COMPARE(#pos(z0), #0) -> c10 #COMPARE(#pos(z0), #neg(z1)) -> c11 #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c13 #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) append(z0, z1) -> append#1(z0, z1) append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) append#1(nil, z0) -> z0 appendD(z0, z1) -> appendD#1(z0, z1) appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) appendD#1(nil, z0) -> z0 quicksort(z0) -> quicksort#1(z0) quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) quicksort#1(nil) -> nil quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) quicksortD(z0) -> quicksortD#1(z0) quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) quicksortD#1(nil) -> nil quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) split(z0, z1) -> split#1(z1, z0) split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) split#1(nil, z0) -> tuple#2(nil, nil) split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) splitD(z0, z1) -> splitD#1(z1, z0) splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) splitD#1(nil, z0) -> tuple#2(nil, nil) splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) testQuicksort(z0) -> quicksort(testList(#unit)) testQuicksort2(z0) -> quicksort(testList(#unit)) Rewrite Strategy: INNERMOST ---------------------------------------- (1) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c15 #ABS(#neg(z0)) -> c16 #ABS(#pos(z0)) -> c17 #ABS(#s(z0)) -> c18 #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) APPEND#1(nil, z0) -> c22 APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) APPENDD#1(nil, z0) -> c25 QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) QUICKSORT#1(nil) -> c28 QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) QUICKSORTD#1(nil) -> c33 QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) SPLIT#1(nil, z0) -> c38 SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLIT#3(#false, z0, z1, z2) -> c40 SPLIT#3(#true, z0, z1, z2) -> c41 SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) SPLITD#1(nil, z0) -> c44 SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLITD#3(#false, z0, z1, z2) -> c46 SPLITD#3(#true, z0, z1, z2) -> c47 TESTLIST(z0) -> c48(#ABS(#0)) TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) The (relative) TRS S consists of the following rules: #CKGT(#EQ) -> c #CKGT(#GT) -> c1 #CKGT(#LT) -> c2 #COMPARE(#0, #0) -> c3 #COMPARE(#0, #neg(z0)) -> c4 #COMPARE(#0, #pos(z0)) -> c5 #COMPARE(#0, #s(z0)) -> c6 #COMPARE(#neg(z0), #0) -> c7 #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c9 #COMPARE(#pos(z0), #0) -> c10 #COMPARE(#pos(z0), #neg(z1)) -> c11 #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c13 #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) append(z0, z1) -> append#1(z0, z1) append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) append#1(nil, z0) -> z0 appendD(z0, z1) -> appendD#1(z0, z1) appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) appendD#1(nil, z0) -> z0 quicksort(z0) -> quicksort#1(z0) quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) quicksort#1(nil) -> nil quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) quicksortD(z0) -> quicksortD#1(z0) quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) quicksortD#1(nil) -> nil quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) split(z0, z1) -> split#1(z1, z0) split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) split#1(nil, z0) -> tuple#2(nil, nil) split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) splitD(z0, z1) -> splitD#1(z1, z0) splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) splitD#1(nil, z0) -> tuple#2(nil, nil) splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) testQuicksort(z0) -> quicksort(testList(#unit)) testQuicksort2(z0) -> quicksort(testList(#unit)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c15 [1] #ABS(#neg(z0)) -> c16 [1] #ABS(#pos(z0)) -> c17 [1] #ABS(#s(z0)) -> c18 [1] #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) [1] APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) [1] APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) [1] APPEND#1(nil, z0) -> c22 [1] APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) [1] APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) [1] APPENDD#1(nil, z0) -> c25 [1] QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) [1] QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) [1] QUICKSORT#1(nil) -> c28 [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) [1] QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) [1] QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) [1] QUICKSORTD#1(nil) -> c33 [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) [1] SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) [1] SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) [1] SPLIT#1(nil, z0) -> c38 [1] SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) [1] SPLIT#3(#false, z0, z1, z2) -> c40 [1] SPLIT#3(#true, z0, z1, z2) -> c41 [1] SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) [1] SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) [1] SPLITD#1(nil, z0) -> c44 [1] SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) [1] SPLITD#3(#false, z0, z1, z2) -> c46 [1] SPLITD#3(#true, z0, z1, z2) -> c47 [1] TESTLIST(z0) -> c48(#ABS(#0)) [1] TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) [1] TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) [1] TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) [1] TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) [1] TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) [1] TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) [1] TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) [1] TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) [1] TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) [1] TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) [1] TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) [1] #CKGT(#EQ) -> c [0] #CKGT(#GT) -> c1 [0] #CKGT(#LT) -> c2 [0] #COMPARE(#0, #0) -> c3 [0] #COMPARE(#0, #neg(z0)) -> c4 [0] #COMPARE(#0, #pos(z0)) -> c5 [0] #COMPARE(#0, #s(z0)) -> c6 [0] #COMPARE(#neg(z0), #0) -> c7 [0] #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c9 [0] #COMPARE(#pos(z0), #0) -> c10 [0] #COMPARE(#pos(z0), #neg(z1)) -> c11 [0] #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c13 [0] #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #greater(z0, z1) -> #ckgt(#compare(z0, z1)) [0] append(z0, z1) -> append#1(z0, z1) [0] append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) [0] append#1(nil, z0) -> z0 [0] appendD(z0, z1) -> appendD#1(z0, z1) [0] appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) [0] appendD#1(nil, z0) -> z0 [0] quicksort(z0) -> quicksort#1(z0) [0] quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) [0] quicksort#1(nil) -> nil [0] quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) [0] quicksortD(z0) -> quicksortD#1(z0) [0] quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) [0] quicksortD#1(nil) -> nil [0] quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) [0] split(z0, z1) -> split#1(z1, z0) [0] split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) [0] split#1(nil, z0) -> tuple#2(nil, nil) [0] split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) [0] split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] splitD(z0, z1) -> splitD#1(z1, z0) [0] splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) [0] splitD#1(nil, z0) -> tuple#2(nil, nil) [0] splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) [0] splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) [0] testQuicksort(z0) -> quicksort(testList(#unit)) [0] testQuicksort2(z0) -> quicksort(testList(#unit)) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (5) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (6) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: #ABS(#0) -> c15 [1] #ABS(#neg(z0)) -> c16 [1] #ABS(#pos(z0)) -> c17 [1] #ABS(#s(z0)) -> c18 [1] #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) [1] APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) [1] APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) [1] APPEND#1(nil, z0) -> c22 [1] APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) [1] APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) [1] APPENDD#1(nil, z0) -> c25 [1] QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) [1] QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) [1] QUICKSORT#1(nil) -> c28 [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) [1] QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) [1] QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) [1] QUICKSORTD#1(nil) -> c33 [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) [1] SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) [1] SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) [1] SPLIT#1(nil, z0) -> c38 [1] SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) [1] SPLIT#3(#false, z0, z1, z2) -> c40 [1] SPLIT#3(#true, z0, z1, z2) -> c41 [1] SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) [1] SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) [1] SPLITD#1(nil, z0) -> c44 [1] SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) [1] SPLITD#3(#false, z0, z1, z2) -> c46 [1] SPLITD#3(#true, z0, z1, z2) -> c47 [1] TESTLIST(z0) -> c48(#ABS(#0)) [1] TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) [1] TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) [1] TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) [1] TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) [1] TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) [1] TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) [1] TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) [1] TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) [1] TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) [1] TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) [1] TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) [1] #CKGT(#EQ) -> c [0] #CKGT(#GT) -> c1 [0] #CKGT(#LT) -> c2 [0] #COMPARE(#0, #0) -> c3 [0] #COMPARE(#0, #neg(z0)) -> c4 [0] #COMPARE(#0, #pos(z0)) -> c5 [0] #COMPARE(#0, #s(z0)) -> c6 [0] #COMPARE(#neg(z0), #0) -> c7 [0] #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c9 [0] #COMPARE(#pos(z0), #0) -> c10 [0] #COMPARE(#pos(z0), #neg(z1)) -> c11 [0] #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c13 [0] #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #greater(z0, z1) -> #ckgt(#compare(z0, z1)) [0] append(z0, z1) -> append#1(z0, z1) [0] append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) [0] append#1(nil, z0) -> z0 [0] appendD(z0, z1) -> appendD#1(z0, z1) [0] appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) [0] appendD#1(nil, z0) -> z0 [0] quicksort(z0) -> quicksort#1(z0) [0] quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) [0] quicksort#1(nil) -> nil [0] quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) [0] quicksortD(z0) -> quicksortD#1(z0) [0] quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) [0] quicksortD#1(nil) -> nil [0] quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) [0] split(z0, z1) -> split#1(z1, z0) [0] split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) [0] split#1(nil, z0) -> tuple#2(nil, nil) [0] split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) [0] split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] splitD(z0, z1) -> splitD#1(z1, z0) [0] splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) [0] splitD#1(nil, z0) -> tuple#2(nil, nil) [0] splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) [0] splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) [0] testQuicksort(z0) -> quicksort(testList(#unit)) [0] testQuicksort2(z0) -> quicksort(testList(#unit)) [0] The TRS has the following type information: #ABS :: #0:#neg:#pos:#s -> c15:c16:c17:c18 #0 :: #0:#neg:#pos:#s c15 :: c15:c16:c17:c18 #neg :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c16 :: c15:c16:c17:c18 #pos :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c17 :: c15:c16:c17:c18 #s :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c18 :: c15:c16:c17:c18 #GREATER :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c19 c19 :: c:c1:c2 -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 -> c19 #CKGT :: #EQ:#GT:#LT -> c:c1:c2 #compare :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> #EQ:#GT:#LT #COMPARE :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 APPEND :: :::nil -> :::nil -> c20 c20 :: c21:c22 -> c20 APPEND#1 :: :::nil -> :::nil -> c21:c22 :: :: #0:#neg:#pos:#s -> :::nil -> :::nil c21 :: c20 -> c21:c22 nil :: :::nil c22 :: c21:c22 APPENDD :: :::nil -> :::nil -> c23 c23 :: c24:c25 -> c23 APPENDD#1 :: :::nil -> :::nil -> c24:c25 c24 :: c23 -> c24:c25 c25 :: c24:c25 QUICKSORT :: :::nil -> c26 c26 :: c27:c28 -> c26 QUICKSORT#1 :: :::nil -> c27:c28 c27 :: c29:c30 -> c36 -> c27:c28 QUICKSORT#2 :: tuple#2 -> #0:#neg:#pos:#s -> c29:c30 split :: #0:#neg:#pos:#s -> :::nil -> tuple#2 SPLIT :: #0:#neg:#pos:#s -> :::nil -> c36 c28 :: c27:c28 tuple#2 :: :::nil -> :::nil -> tuple#2 c29 :: c20 -> c26 -> c29:c30 quicksort :: :::nil -> :::nil c30 :: c20 -> c26 -> c29:c30 QUICKSORTD :: :::nil -> c31 c31 :: c32:c33 -> c31 QUICKSORTD#1 :: :::nil -> c32:c33 c32 :: c34:c35 -> c42 -> c32:c33 QUICKSORTD#2 :: tuple#2 -> #0:#neg:#pos:#s -> c34:c35 splitD :: #0:#neg:#pos:#s -> :::nil -> tuple#2 SPLITD :: #0:#neg:#pos:#s -> :::nil -> c42 c33 :: c32:c33 c34 :: c23 -> c31 -> c34:c35 quicksortD :: :::nil -> :::nil c35 :: c23 -> c31 -> c34:c35 c36 :: c37:c38 -> c36 SPLIT#1 :: :::nil -> #0:#neg:#pos:#s -> c37:c38 c37 :: c39 -> c36 -> c37:c38 SPLIT#2 :: tuple#2 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c39 c38 :: c37:c38 c39 :: c40:c41 -> c19 -> c39 SPLIT#3 :: #false:#true -> :::nil -> :::nil -> #0:#neg:#pos:#s -> c40:c41 #greater :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> #false:#true #false :: #false:#true c40 :: c40:c41 #true :: #false:#true c41 :: c40:c41 c42 :: c43:c44 -> c42 SPLITD#1 :: :::nil -> #0:#neg:#pos:#s -> c43:c44 c43 :: c45 -> c42 -> c43:c44 SPLITD#2 :: tuple#2 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c45 c44 :: c43:c44 c45 :: c46:c47 -> c19 -> c45 SPLITD#3 :: #false:#true -> :::nil -> :::nil -> #0:#neg:#pos:#s -> c46:c47 c46 :: c46:c47 c47 :: c46:c47 TESTLIST :: #unit -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c48 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c49 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c50 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c51 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c52 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c53 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c54 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c55 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c56 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c57 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 TESTQUICKSORT :: a -> c58 c58 :: c26 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 -> c58 testList :: #unit -> :::nil #unit :: #unit TESTQUICKSORT2 :: b -> c59 c59 :: c26 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 -> c59 #EQ :: #EQ:#GT:#LT c :: c:c1:c2 #GT :: #EQ:#GT:#LT c1 :: c:c1:c2 #LT :: #EQ:#GT:#LT c2 :: c:c1:c2 c3 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c4 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c5 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c6 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c7 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c8 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c9 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c10 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c11 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c12 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c13 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 c14 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14 #ckgt :: #EQ:#GT:#LT -> #false:#true #abs :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s append :: :::nil -> :::nil -> :::nil append#1 :: :::nil -> :::nil -> :::nil appendD :: :::nil -> :::nil -> :::nil appendD#1 :: :::nil -> :::nil -> :::nil quicksort#1 :: :::nil -> :::nil quicksort#2 :: tuple#2 -> #0:#neg:#pos:#s -> :::nil quicksortD#1 :: :::nil -> :::nil quicksortD#2 :: tuple#2 -> #0:#neg:#pos:#s -> :::nil split#1 :: :::nil -> #0:#neg:#pos:#s -> tuple#2 split#2 :: tuple#2 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> tuple#2 split#3 :: #false:#true -> :::nil -> :::nil -> #0:#neg:#pos:#s -> tuple#2 splitD#1 :: :::nil -> #0:#neg:#pos:#s -> tuple#2 splitD#2 :: tuple#2 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> tuple#2 splitD#3 :: #false:#true -> :::nil -> :::nil -> #0:#neg:#pos:#s -> tuple#2 testQuicksort :: c -> :::nil testQuicksort2 :: d -> :::nil Rewrite Strategy: INNERMOST ---------------------------------------- (7) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: #ABS_1 #GREATER_2 APPEND_2 APPEND#1_2 APPENDD_2 APPENDD#1_2 QUICKSORT_1 QUICKSORT#1_1 QUICKSORT#2_2 QUICKSORTD_1 QUICKSORTD#1_1 QUICKSORTD#2_2 SPLIT_2 SPLIT#1_2 SPLIT#2_3 SPLIT#3_4 SPLITD_2 SPLITD#1_2 SPLITD#2_3 SPLITD#3_4 TESTLIST_1 TESTQUICKSORT_1 TESTQUICKSORT2_1 (c) The following functions are completely defined: #CKGT_1 #COMPARE_2 #ckgt_1 #compare_2 #abs_1 #greater_2 append_2 append#1_2 appendD_2 appendD#1_2 quicksort_1 quicksort#1_1 quicksort#2_2 quicksortD_1 quicksortD#1_1 quicksortD#2_2 split_2 split#1_2 split#2_3 split#3_4 splitD_2 splitD#1_2 splitD#2_3 splitD#3_4 testList_1 testQuicksort_1 testQuicksort2_1 Due to the following rules being added: #CKGT(v0) -> null_#CKGT [0] #COMPARE(v0, v1) -> null_#COMPARE [0] #ckgt(v0) -> null_#ckgt [0] #compare(v0, v1) -> null_#compare [0] #abs(v0) -> #0 [0] #greater(v0, v1) -> null_#greater [0] append(v0, v1) -> nil [0] append#1(v0, v1) -> nil [0] appendD(v0, v1) -> nil [0] appendD#1(v0, v1) -> nil [0] quicksort(v0) -> nil [0] quicksort#1(v0) -> nil [0] quicksort#2(v0, v1) -> nil [0] quicksortD(v0) -> nil [0] quicksortD#1(v0) -> nil [0] quicksortD#2(v0, v1) -> nil [0] split(v0, v1) -> const6 [0] split#1(v0, v1) -> const6 [0] split#2(v0, v1, v2) -> const6 [0] split#3(v0, v1, v2, v3) -> const6 [0] splitD(v0, v1) -> const6 [0] splitD#1(v0, v1) -> const6 [0] splitD#2(v0, v1, v2) -> const6 [0] splitD#3(v0, v1, v2, v3) -> const6 [0] testList(v0) -> nil [0] testQuicksort(v0) -> nil [0] testQuicksort2(v0) -> nil [0] And the following fresh constants: null_#CKGT, null_#COMPARE, null_#ckgt, null_#compare, null_#greater, const6, const, const1, const2, const3, const4, const5, const7, const8, const9, const10, const11, const12, const13, const14, const15, const16, const17, const18 ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: #ABS(#0) -> c15 [1] #ABS(#neg(z0)) -> c16 [1] #ABS(#pos(z0)) -> c17 [1] #ABS(#s(z0)) -> c18 [1] #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) [1] APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) [1] APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) [1] APPEND#1(nil, z0) -> c22 [1] APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) [1] APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) [1] APPENDD#1(nil, z0) -> c25 [1] QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) [1] QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) [1] QUICKSORT#1(nil) -> c28 [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) [1] QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) [1] QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) [1] QUICKSORTD#1(nil) -> c33 [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) [1] SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) [1] SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) [1] SPLIT#1(nil, z0) -> c38 [1] SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) [1] SPLIT#3(#false, z0, z1, z2) -> c40 [1] SPLIT#3(#true, z0, z1, z2) -> c41 [1] SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) [1] SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) [1] SPLITD#1(nil, z0) -> c44 [1] SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) [1] SPLITD#3(#false, z0, z1, z2) -> c46 [1] SPLITD#3(#true, z0, z1, z2) -> c47 [1] TESTLIST(z0) -> c48(#ABS(#0)) [1] TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) [1] TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) [1] TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) [1] TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) [1] TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) [1] TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) [1] TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) [1] TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) [1] TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) [1] TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) [1] TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) [1] #CKGT(#EQ) -> c [0] #CKGT(#GT) -> c1 [0] #CKGT(#LT) -> c2 [0] #COMPARE(#0, #0) -> c3 [0] #COMPARE(#0, #neg(z0)) -> c4 [0] #COMPARE(#0, #pos(z0)) -> c5 [0] #COMPARE(#0, #s(z0)) -> c6 [0] #COMPARE(#neg(z0), #0) -> c7 [0] #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c9 [0] #COMPARE(#pos(z0), #0) -> c10 [0] #COMPARE(#pos(z0), #neg(z1)) -> c11 [0] #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c13 [0] #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #greater(z0, z1) -> #ckgt(#compare(z0, z1)) [0] append(z0, z1) -> append#1(z0, z1) [0] append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) [0] append#1(nil, z0) -> z0 [0] appendD(z0, z1) -> appendD#1(z0, z1) [0] appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) [0] appendD#1(nil, z0) -> z0 [0] quicksort(z0) -> quicksort#1(z0) [0] quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) [0] quicksort#1(nil) -> nil [0] quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) [0] quicksortD(z0) -> quicksortD#1(z0) [0] quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) [0] quicksortD#1(nil) -> nil [0] quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) [0] split(z0, z1) -> split#1(z1, z0) [0] split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) [0] split#1(nil, z0) -> tuple#2(nil, nil) [0] split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) [0] split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] splitD(z0, z1) -> splitD#1(z1, z0) [0] splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) [0] splitD#1(nil, z0) -> tuple#2(nil, nil) [0] splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) [0] splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) [0] testQuicksort(z0) -> quicksort(testList(#unit)) [0] testQuicksort2(z0) -> quicksort(testList(#unit)) [0] #CKGT(v0) -> null_#CKGT [0] #COMPARE(v0, v1) -> null_#COMPARE [0] #ckgt(v0) -> null_#ckgt [0] #compare(v0, v1) -> null_#compare [0] #abs(v0) -> #0 [0] #greater(v0, v1) -> null_#greater [0] append(v0, v1) -> nil [0] append#1(v0, v1) -> nil [0] appendD(v0, v1) -> nil [0] appendD#1(v0, v1) -> nil [0] quicksort(v0) -> nil [0] quicksort#1(v0) -> nil [0] quicksort#2(v0, v1) -> nil [0] quicksortD(v0) -> nil [0] quicksortD#1(v0) -> nil [0] quicksortD#2(v0, v1) -> nil [0] split(v0, v1) -> const6 [0] split#1(v0, v1) -> const6 [0] split#2(v0, v1, v2) -> const6 [0] split#3(v0, v1, v2, v3) -> const6 [0] splitD(v0, v1) -> const6 [0] splitD#1(v0, v1) -> const6 [0] splitD#2(v0, v1, v2) -> const6 [0] splitD#3(v0, v1, v2, v3) -> const6 [0] testList(v0) -> nil [0] testQuicksort(v0) -> nil [0] testQuicksort2(v0) -> nil [0] The TRS has the following type information: #ABS :: #0:#neg:#pos:#s -> c15:c16:c17:c18 #0 :: #0:#neg:#pos:#s c15 :: c15:c16:c17:c18 #neg :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c16 :: c15:c16:c17:c18 #pos :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c17 :: c15:c16:c17:c18 #s :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c18 :: c15:c16:c17:c18 #GREATER :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c19 c19 :: c:c1:c2:null_#CKGT -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c19 #CKGT :: #EQ:#GT:#LT:null_#compare -> c:c1:c2:null_#CKGT #compare :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> #EQ:#GT:#LT:null_#compare #COMPARE :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE APPEND :: :::nil -> :::nil -> c20 c20 :: c21:c22 -> c20 APPEND#1 :: :::nil -> :::nil -> c21:c22 :: :: #0:#neg:#pos:#s -> :::nil -> :::nil c21 :: c20 -> c21:c22 nil :: :::nil c22 :: c21:c22 APPENDD :: :::nil -> :::nil -> c23 c23 :: c24:c25 -> c23 APPENDD#1 :: :::nil -> :::nil -> c24:c25 c24 :: c23 -> c24:c25 c25 :: c24:c25 QUICKSORT :: :::nil -> c26 c26 :: c27:c28 -> c26 QUICKSORT#1 :: :::nil -> c27:c28 c27 :: c29:c30 -> c36 -> c27:c28 QUICKSORT#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> c29:c30 split :: #0:#neg:#pos:#s -> :::nil -> tuple#2:const6 SPLIT :: #0:#neg:#pos:#s -> :::nil -> c36 c28 :: c27:c28 tuple#2 :: :::nil -> :::nil -> tuple#2:const6 c29 :: c20 -> c26 -> c29:c30 quicksort :: :::nil -> :::nil c30 :: c20 -> c26 -> c29:c30 QUICKSORTD :: :::nil -> c31 c31 :: c32:c33 -> c31 QUICKSORTD#1 :: :::nil -> c32:c33 c32 :: c34:c35 -> c42 -> c32:c33 QUICKSORTD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> c34:c35 splitD :: #0:#neg:#pos:#s -> :::nil -> tuple#2:const6 SPLITD :: #0:#neg:#pos:#s -> :::nil -> c42 c33 :: c32:c33 c34 :: c23 -> c31 -> c34:c35 quicksortD :: :::nil -> :::nil c35 :: c23 -> c31 -> c34:c35 c36 :: c37:c38 -> c36 SPLIT#1 :: :::nil -> #0:#neg:#pos:#s -> c37:c38 c37 :: c39 -> c36 -> c37:c38 SPLIT#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c39 c38 :: c37:c38 c39 :: c40:c41 -> c19 -> c39 SPLIT#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> c40:c41 #greater :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> #false:#true:null_#ckgt:null_#greater #false :: #false:#true:null_#ckgt:null_#greater c40 :: c40:c41 #true :: #false:#true:null_#ckgt:null_#greater c41 :: c40:c41 c42 :: c43:c44 -> c42 SPLITD#1 :: :::nil -> #0:#neg:#pos:#s -> c43:c44 c43 :: c45 -> c42 -> c43:c44 SPLITD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c45 c44 :: c43:c44 c45 :: c46:c47 -> c19 -> c45 SPLITD#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> c46:c47 c46 :: c46:c47 c47 :: c46:c47 TESTLIST :: #unit -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c48 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c49 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c50 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c51 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c52 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c53 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c54 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c55 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c56 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c57 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 TESTQUICKSORT :: a -> c58 c58 :: c26 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 -> c58 testList :: #unit -> :::nil #unit :: #unit TESTQUICKSORT2 :: b -> c59 c59 :: c26 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 -> c59 #EQ :: #EQ:#GT:#LT:null_#compare c :: c:c1:c2:null_#CKGT #GT :: #EQ:#GT:#LT:null_#compare c1 :: c:c1:c2:null_#CKGT #LT :: #EQ:#GT:#LT:null_#compare c2 :: c:c1:c2:null_#CKGT c3 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c4 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c5 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c6 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c7 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c8 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c9 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c10 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c11 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c12 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c13 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c14 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE #ckgt :: #EQ:#GT:#LT:null_#compare -> #false:#true:null_#ckgt:null_#greater #abs :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s append :: :::nil -> :::nil -> :::nil append#1 :: :::nil -> :::nil -> :::nil appendD :: :::nil -> :::nil -> :::nil appendD#1 :: :::nil -> :::nil -> :::nil quicksort#1 :: :::nil -> :::nil quicksort#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> :::nil quicksortD#1 :: :::nil -> :::nil quicksortD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> :::nil split#1 :: :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 split#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> tuple#2:const6 split#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 splitD#1 :: :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 splitD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> tuple#2:const6 splitD#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 testQuicksort :: c -> :::nil testQuicksort2 :: d -> :::nil null_#CKGT :: c:c1:c2:null_#CKGT null_#COMPARE :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE null_#ckgt :: #false:#true:null_#ckgt:null_#greater null_#compare :: #EQ:#GT:#LT:null_#compare null_#greater :: #false:#true:null_#ckgt:null_#greater const6 :: tuple#2:const6 const :: c19 const1 :: c20 const2 :: c23 const3 :: c26 const4 :: c29:c30 const5 :: c36 const7 :: c31 const8 :: c34:c35 const9 :: c42 const10 :: c39 const11 :: c45 const12 :: c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 const13 :: c58 const14 :: a const15 :: c59 const16 :: b const17 :: c const18 :: d Rewrite Strategy: INNERMOST ---------------------------------------- (9) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (10) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: #ABS(#0) -> c15 [1] #ABS(#neg(z0)) -> c16 [1] #ABS(#pos(z0)) -> c17 [1] #ABS(#s(z0)) -> c18 [1] #GREATER(#0, #0) -> c19(#CKGT(#EQ), #COMPARE(#0, #0)) [1] #GREATER(#0, #neg(z0')) -> c19(#CKGT(#GT), #COMPARE(#0, #neg(z0'))) [1] #GREATER(#0, #pos(z0'')) -> c19(#CKGT(#LT), #COMPARE(#0, #pos(z0''))) [1] #GREATER(#0, #s(z01)) -> c19(#CKGT(#LT), #COMPARE(#0, #s(z01))) [1] #GREATER(#neg(z02), #0) -> c19(#CKGT(#LT), #COMPARE(#neg(z02), #0)) [1] #GREATER(#neg(z03), #neg(z1')) -> c19(#CKGT(#compare(z1', z03)), #COMPARE(#neg(z03), #neg(z1'))) [1] #GREATER(#neg(z04), #pos(z1'')) -> c19(#CKGT(#LT), #COMPARE(#neg(z04), #pos(z1''))) [1] #GREATER(#pos(z05), #0) -> c19(#CKGT(#GT), #COMPARE(#pos(z05), #0)) [1] #GREATER(#pos(z06), #neg(z11)) -> c19(#CKGT(#GT), #COMPARE(#pos(z06), #neg(z11))) [1] #GREATER(#pos(z07), #pos(z12)) -> c19(#CKGT(#compare(z07, z12)), #COMPARE(#pos(z07), #pos(z12))) [1] #GREATER(#s(z08), #0) -> c19(#CKGT(#GT), #COMPARE(#s(z08), #0)) [1] #GREATER(#s(z09), #s(z13)) -> c19(#CKGT(#compare(z09, z13)), #COMPARE(#s(z09), #s(z13))) [1] #GREATER(z0, z1) -> c19(#CKGT(null_#compare), #COMPARE(z0, z1)) [1] APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) [1] APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) [1] APPEND#1(nil, z0) -> c22 [1] APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) [1] APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) [1] APPENDD#1(nil, z0) -> c25 [1] QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) [1] QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split#1(z1, z0), z0), SPLIT(z0, z1)) [1] QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(const6, z0), SPLIT(z0, z1)) [1] QUICKSORT#1(nil) -> c28 [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort#1(z0), ::(z2, quicksort#1(z1))), QUICKSORT(z0)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort#1(z0), ::(z2, nil)), QUICKSORT(z0)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(nil, ::(z2, quicksort#1(z1))), QUICKSORT(z0)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(nil, ::(z2, nil)), QUICKSORT(z0)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort#1(z0), ::(z2, quicksort#1(z1))), QUICKSORT(z1)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort#1(z0), ::(z2, nil)), QUICKSORT(z1)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(nil, ::(z2, quicksort#1(z1))), QUICKSORT(z1)) [1] QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(nil, ::(z2, nil)), QUICKSORT(z1)) [1] QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) [1] QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD#1(z1, z0), z0), SPLITD(z0, z1)) [1] QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(const6, z0), SPLITD(z0, z1)) [1] QUICKSORTD#1(nil) -> c33 [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD#1(z0), ::(z2, quicksortD#1(z1))), QUICKSORTD(z0)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD#1(z0), ::(z2, nil)), QUICKSORTD(z0)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(nil, ::(z2, quicksortD#1(z1))), QUICKSORTD(z0)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(nil, ::(z2, nil)), QUICKSORTD(z0)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD#1(z0), ::(z2, quicksortD#1(z1))), QUICKSORTD(z1)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD#1(z0), ::(z2, nil)), QUICKSORTD(z1)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(nil, ::(z2, quicksortD#1(z1))), QUICKSORTD(z1)) [1] QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(nil, ::(z2, nil)), QUICKSORTD(z1)) [1] SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) [1] SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split#1(z1, z2), z2, z0), SPLIT(z2, z1)) [1] SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(const6, z2, z0), SPLIT(z2, z1)) [1] SPLIT#1(nil, z0) -> c38 [1] SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#ckgt(#compare(z3, z2)), z0, z1, z3), #GREATER(z3, z2)) [1] SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(null_#greater, z0, z1, z3), #GREATER(z3, z2)) [1] SPLIT#3(#false, z0, z1, z2) -> c40 [1] SPLIT#3(#true, z0, z1, z2) -> c41 [1] SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) [1] SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD#1(z1, z2), z2, z0), SPLITD(z2, z1)) [1] SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(const6, z2, z0), SPLITD(z2, z1)) [1] SPLITD#1(nil, z0) -> c44 [1] SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#ckgt(#compare(z3, z2)), z0, z1, z3), #GREATER(z3, z2)) [1] SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(null_#greater, z0, z1, z3), #GREATER(z3, z2)) [1] SPLITD#3(#false, z0, z1, z2) -> c46 [1] SPLITD#3(#true, z0, z1, z2) -> c47 [1] TESTLIST(z0) -> c48(#ABS(#0)) [1] TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) [1] TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) [1] TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) [1] TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) [1] TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) [1] TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) [1] TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) [1] TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) [1] TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) [1] TESTQUICKSORT(z0) -> c58(QUICKSORT(::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil))))))))))), TESTLIST(#unit)) [1] TESTQUICKSORT(z0) -> c58(QUICKSORT(nil), TESTLIST(#unit)) [1] TESTQUICKSORT2(z0) -> c59(QUICKSORT(::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil))))))))))), TESTLIST(#unit)) [1] TESTQUICKSORT2(z0) -> c59(QUICKSORT(nil), TESTLIST(#unit)) [1] #CKGT(#EQ) -> c [0] #CKGT(#GT) -> c1 [0] #CKGT(#LT) -> c2 [0] #COMPARE(#0, #0) -> c3 [0] #COMPARE(#0, #neg(z0)) -> c4 [0] #COMPARE(#0, #pos(z0)) -> c5 [0] #COMPARE(#0, #s(z0)) -> c6 [0] #COMPARE(#neg(z0), #0) -> c7 [0] #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c9 [0] #COMPARE(#pos(z0), #0) -> c10 [0] #COMPARE(#pos(z0), #neg(z1)) -> c11 [0] #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c13 [0] #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #greater(#0, #0) -> #ckgt(#EQ) [0] #greater(#0, #neg(z010)) -> #ckgt(#GT) [0] #greater(#0, #pos(z011)) -> #ckgt(#LT) [0] #greater(#0, #s(z012)) -> #ckgt(#LT) [0] #greater(#neg(z013), #0) -> #ckgt(#LT) [0] #greater(#neg(z014), #neg(z14)) -> #ckgt(#compare(z14, z014)) [0] #greater(#neg(z015), #pos(z15)) -> #ckgt(#LT) [0] #greater(#pos(z016), #0) -> #ckgt(#GT) [0] #greater(#pos(z017), #neg(z16)) -> #ckgt(#GT) [0] #greater(#pos(z018), #pos(z17)) -> #ckgt(#compare(z018, z17)) [0] #greater(#s(z019), #0) -> #ckgt(#GT) [0] #greater(#s(z020), #s(z18)) -> #ckgt(#compare(z020, z18)) [0] #greater(z0, z1) -> #ckgt(null_#compare) [0] append(z0, z1) -> append#1(z0, z1) [0] append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) [0] append#1(nil, z0) -> z0 [0] appendD(z0, z1) -> appendD#1(z0, z1) [0] appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) [0] appendD#1(nil, z0) -> z0 [0] quicksort(z0) -> quicksort#1(z0) [0] quicksort#1(::(z0, z1)) -> quicksort#2(split#1(z1, z0), z0) [0] quicksort#1(::(z0, z1)) -> quicksort#2(const6, z0) [0] quicksort#1(nil) -> nil [0] quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort#1(z0), ::(z2, quicksort#1(z1))) [0] quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort#1(z0), ::(z2, nil)) [0] quicksort#2(tuple#2(z0, z1), z2) -> append(nil, ::(z2, quicksort#1(z1))) [0] quicksort#2(tuple#2(z0, z1), z2) -> append(nil, ::(z2, nil)) [0] quicksortD(z0) -> quicksortD#1(z0) [0] quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD#1(z1, z0), z0) [0] quicksortD#1(::(z0, z1)) -> quicksortD#2(const6, z0) [0] quicksortD#1(nil) -> nil [0] quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD#1(z0), ::(z2, quicksortD#1(z1))) [0] quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD#1(z0), ::(z2, nil)) [0] quicksortD#2(tuple#2(z0, z1), z2) -> appendD(nil, ::(z2, quicksortD#1(z1))) [0] quicksortD#2(tuple#2(z0, z1), z2) -> appendD(nil, ::(z2, nil)) [0] split(z0, z1) -> split#1(z1, z0) [0] split#1(::(z0, z1), z2) -> split#2(split#1(z1, z2), z2, z0) [0] split#1(::(z0, z1), z2) -> split#2(const6, z2, z0) [0] split#1(nil, z0) -> tuple#2(nil, nil) [0] split#2(tuple#2(z0, z1), z2, z3) -> split#3(#ckgt(#compare(z3, z2)), z0, z1, z3) [0] split#2(tuple#2(z0, z1), z2, z3) -> split#3(null_#greater, z0, z1, z3) [0] split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] splitD(z0, z1) -> splitD#1(z1, z0) [0] splitD#1(::(z0, z1), z2) -> splitD#2(splitD#1(z1, z2), z2, z0) [0] splitD#1(::(z0, z1), z2) -> splitD#2(const6, z2, z0) [0] splitD#1(nil, z0) -> tuple#2(nil, nil) [0] splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#ckgt(#compare(z3, z2)), z0, z1, z3) [0] splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(null_#greater, z0, z1, z3) [0] splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) [0] splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) [0] testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) [0] testQuicksort(z0) -> quicksort(::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil))))))))))) [0] testQuicksort(z0) -> quicksort(nil) [0] testQuicksort2(z0) -> quicksort(::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil))))))))))) [0] testQuicksort2(z0) -> quicksort(nil) [0] #CKGT(v0) -> null_#CKGT [0] #COMPARE(v0, v1) -> null_#COMPARE [0] #ckgt(v0) -> null_#ckgt [0] #compare(v0, v1) -> null_#compare [0] #abs(v0) -> #0 [0] #greater(v0, v1) -> null_#greater [0] append(v0, v1) -> nil [0] append#1(v0, v1) -> nil [0] appendD(v0, v1) -> nil [0] appendD#1(v0, v1) -> nil [0] quicksort(v0) -> nil [0] quicksort#1(v0) -> nil [0] quicksort#2(v0, v1) -> nil [0] quicksortD(v0) -> nil [0] quicksortD#1(v0) -> nil [0] quicksortD#2(v0, v1) -> nil [0] split(v0, v1) -> const6 [0] split#1(v0, v1) -> const6 [0] split#2(v0, v1, v2) -> const6 [0] split#3(v0, v1, v2, v3) -> const6 [0] splitD(v0, v1) -> const6 [0] splitD#1(v0, v1) -> const6 [0] splitD#2(v0, v1, v2) -> const6 [0] splitD#3(v0, v1, v2, v3) -> const6 [0] testList(v0) -> nil [0] testQuicksort(v0) -> nil [0] testQuicksort2(v0) -> nil [0] The TRS has the following type information: #ABS :: #0:#neg:#pos:#s -> c15:c16:c17:c18 #0 :: #0:#neg:#pos:#s c15 :: c15:c16:c17:c18 #neg :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c16 :: c15:c16:c17:c18 #pos :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c17 :: c15:c16:c17:c18 #s :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s c18 :: c15:c16:c17:c18 #GREATER :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c19 c19 :: c:c1:c2:null_#CKGT -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c19 #CKGT :: #EQ:#GT:#LT:null_#compare -> c:c1:c2:null_#CKGT #compare :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> #EQ:#GT:#LT:null_#compare #COMPARE :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE APPEND :: :::nil -> :::nil -> c20 c20 :: c21:c22 -> c20 APPEND#1 :: :::nil -> :::nil -> c21:c22 :: :: #0:#neg:#pos:#s -> :::nil -> :::nil c21 :: c20 -> c21:c22 nil :: :::nil c22 :: c21:c22 APPENDD :: :::nil -> :::nil -> c23 c23 :: c24:c25 -> c23 APPENDD#1 :: :::nil -> :::nil -> c24:c25 c24 :: c23 -> c24:c25 c25 :: c24:c25 QUICKSORT :: :::nil -> c26 c26 :: c27:c28 -> c26 QUICKSORT#1 :: :::nil -> c27:c28 c27 :: c29:c30 -> c36 -> c27:c28 QUICKSORT#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> c29:c30 split :: #0:#neg:#pos:#s -> :::nil -> tuple#2:const6 SPLIT :: #0:#neg:#pos:#s -> :::nil -> c36 c28 :: c27:c28 tuple#2 :: :::nil -> :::nil -> tuple#2:const6 c29 :: c20 -> c26 -> c29:c30 quicksort :: :::nil -> :::nil c30 :: c20 -> c26 -> c29:c30 QUICKSORTD :: :::nil -> c31 c31 :: c32:c33 -> c31 QUICKSORTD#1 :: :::nil -> c32:c33 c32 :: c34:c35 -> c42 -> c32:c33 QUICKSORTD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> c34:c35 splitD :: #0:#neg:#pos:#s -> :::nil -> tuple#2:const6 SPLITD :: #0:#neg:#pos:#s -> :::nil -> c42 c33 :: c32:c33 c34 :: c23 -> c31 -> c34:c35 quicksortD :: :::nil -> :::nil c35 :: c23 -> c31 -> c34:c35 c36 :: c37:c38 -> c36 SPLIT#1 :: :::nil -> #0:#neg:#pos:#s -> c37:c38 c37 :: c39 -> c36 -> c37:c38 SPLIT#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c39 c38 :: c37:c38 c39 :: c40:c41 -> c19 -> c39 SPLIT#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> c40:c41 #greater :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> #false:#true:null_#ckgt:null_#greater #false :: #false:#true:null_#ckgt:null_#greater c40 :: c40:c41 #true :: #false:#true:null_#ckgt:null_#greater c41 :: c40:c41 c42 :: c43:c44 -> c42 SPLITD#1 :: :::nil -> #0:#neg:#pos:#s -> c43:c44 c43 :: c45 -> c42 -> c43:c44 SPLITD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> c45 c44 :: c43:c44 c45 :: c46:c47 -> c19 -> c45 SPLITD#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> c46:c47 c46 :: c46:c47 c47 :: c46:c47 TESTLIST :: #unit -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c48 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c49 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c50 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c51 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c52 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c53 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c54 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c55 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c56 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 c57 :: c15:c16:c17:c18 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 TESTQUICKSORT :: a -> c58 c58 :: c26 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 -> c58 testList :: #unit -> :::nil #unit :: #unit TESTQUICKSORT2 :: b -> c59 c59 :: c26 -> c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 -> c59 #EQ :: #EQ:#GT:#LT:null_#compare c :: c:c1:c2:null_#CKGT #GT :: #EQ:#GT:#LT:null_#compare c1 :: c:c1:c2:null_#CKGT #LT :: #EQ:#GT:#LT:null_#compare c2 :: c:c1:c2:null_#CKGT c3 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c4 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c5 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c6 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c7 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c8 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c9 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c10 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c11 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c12 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c13 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE c14 :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE -> c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE #ckgt :: #EQ:#GT:#LT:null_#compare -> #false:#true:null_#ckgt:null_#greater #abs :: #0:#neg:#pos:#s -> #0:#neg:#pos:#s append :: :::nil -> :::nil -> :::nil append#1 :: :::nil -> :::nil -> :::nil appendD :: :::nil -> :::nil -> :::nil appendD#1 :: :::nil -> :::nil -> :::nil quicksort#1 :: :::nil -> :::nil quicksort#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> :::nil quicksortD#1 :: :::nil -> :::nil quicksortD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> :::nil split#1 :: :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 split#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> tuple#2:const6 split#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 splitD#1 :: :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 splitD#2 :: tuple#2:const6 -> #0:#neg:#pos:#s -> #0:#neg:#pos:#s -> tuple#2:const6 splitD#3 :: #false:#true:null_#ckgt:null_#greater -> :::nil -> :::nil -> #0:#neg:#pos:#s -> tuple#2:const6 testQuicksort :: c -> :::nil testQuicksort2 :: d -> :::nil null_#CKGT :: c:c1:c2:null_#CKGT null_#COMPARE :: c3:c4:c5:c6:c7:c8:c9:c10:c11:c12:c13:c14:null_#COMPARE null_#ckgt :: #false:#true:null_#ckgt:null_#greater null_#compare :: #EQ:#GT:#LT:null_#compare null_#greater :: #false:#true:null_#ckgt:null_#greater const6 :: tuple#2:const6 const :: c19 const1 :: c20 const2 :: c23 const3 :: c26 const4 :: c29:c30 const5 :: c36 const7 :: c31 const8 :: c34:c35 const9 :: c42 const10 :: c39 const11 :: c45 const12 :: c48:c49:c50:c51:c52:c53:c54:c55:c56:c57 const13 :: c58 const14 :: a const15 :: c59 const16 :: b const17 :: c const18 :: d Rewrite Strategy: INNERMOST ---------------------------------------- (11) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: #0 => 0 c15 => 0 c16 => 1 c17 => 2 c18 => 3 nil => 0 c22 => 0 c25 => 0 c28 => 0 c33 => 0 c38 => 0 #false => 1 c40 => 0 #true => 2 c41 => 1 c44 => 0 c46 => 0 c47 => 1 #unit => 0 #EQ => 1 c => 1 #GT => 2 c1 => 2 #LT => 3 c2 => 3 c3 => 3 c4 => 4 c5 => 5 c6 => 6 c7 => 7 c9 => 8 c10 => 0 c11 => 1 c13 => 2 null_#CKGT => 0 null_#COMPARE => 0 null_#ckgt => 0 null_#compare => 0 null_#greater => 0 const6 => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 const4 => 0 const5 => 0 const7 => 0 const8 => 0 const9 => 0 const10 => 0 const11 => 0 const12 => 0 const13 => 0 const14 => 0 const15 => 0 const16 => 0 const17 => 0 const18 => 0 ---------------------------------------- (12) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 2 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 1 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #COMPARE(z, z') -{ 0 }-> 8 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 7 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(0, 1 + z0'') :|: z' = 1 + z0'', z0'' >= 0, z = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(0, 1 + z01) :|: z01 >= 0, z' = 1 + z01, z = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(1 + z02, 0) :|: z = 1 + z02, z02 >= 0, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(1 + z04, 1 + z1'') :|: z04 >= 0, z' = 1 + z1'', z = 1 + z04, z1'' >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(0, 1 + z0') :|: z0' >= 0, z = 0, z' = 1 + z0' #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(1 + z05, 0) :|: z05 >= 0, z = 1 + z05, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(1 + z06, 1 + z11) :|: z' = 1 + z11, z11 >= 0, z06 >= 0, z = 1 + z06 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(1 + z08, 0) :|: z08 >= 0, z = 1 + z08, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(1) + #COMPARE(0, 0) :|: z = 0, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(0) + #COMPARE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z07, z12)) + #COMPARE(1 + z07, 1 + z12) :|: z' = 1 + z12, z07 >= 0, z = 1 + z07, z12 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z09, z13)) + #COMPARE(1 + z09, 1 + z13) :|: z' = 1 + z13, z = 1 + z09, z09 >= 0, z13 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z1', z03)) + #COMPARE(1 + z03, 1 + z1') :|: z' = 1 + z1', z1' >= 0, z = 1 + z03, z03 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #abs(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 #abs(z) -{ 0 }-> 1 + (1 + z0) :|: z = 1 + z0, z0 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #compare(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #compare(z, z') -{ 0 }-> #compare(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> #compare(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #greater(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z011 >= 0, z' = 1 + z011, z = 0 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z' = 1 + z012, z012 >= 0, z = 0 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z = 1 + z013, z013 >= 0, z' = 0 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z015 >= 0, z15 >= 0, z = 1 + z015, z' = 1 + z15 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z = 0, z' = 1 + z010, z010 >= 0 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z = 1 + z016, z016 >= 0, z' = 0 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z = 1 + z017, z' = 1 + z16, z16 >= 0, z017 >= 0 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z019 >= 0, z = 1 + z019, z' = 0 #greater(z, z') -{ 0 }-> #ckgt(1) :|: z = 0, z' = 0 #greater(z, z') -{ 0 }-> #ckgt(0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z018, z17)) :|: z' = 1 + z17, z17 >= 0, z = 1 + z018, z018 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z020, z18)) :|: z18 >= 0, z' = 1 + z18, z = 1 + z020, z020 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z14, z014)) :|: z' = 1 + z14, z = 1 + z014, z014 >= 0, z14 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z0) :|: z = z0, z0 >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + 0) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + 0) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + 0) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + 0) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z0) :|: z = z0, z0 >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + 0) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + 0) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + 0) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + 0) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z2), z2, z0) + SPLIT(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z2, z0) + SPLIT(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z3, z2)), z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z2), z2, z0) + SPLITD(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z2, z0) + SPLITD(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z3, z2)), z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 TESTLIST(z) -{ 1 }-> 1 + #ABS(0) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + 0)) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + 0))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + 0)))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + 0))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z = z0, z0 >= 0 TESTQUICKSORT(z) -{ 1 }-> 1 + QUICKSORT(0) + TESTLIST(0) :|: z = z0, z0 >= 0 TESTQUICKSORT(z) -{ 1 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + TESTLIST(0) :|: z = z0, z0 >= 0 TESTQUICKSORT2(z) -{ 1 }-> 1 + QUICKSORT(0) + TESTLIST(0) :|: z = z0, z0 >= 0 TESTQUICKSORT2(z) -{ 1 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + TESTLIST(0) :|: z = z0, z0 >= 0 append(z, z') -{ 0 }-> append#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 append(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 append#1(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 append#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 appendD(z, z') -{ 0 }-> appendD#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 appendD(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 appendD#1(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 appendD#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 appendD#1(z, z') -{ 0 }-> 1 + z0 + appendD(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort(z) -{ 0 }-> quicksort#1(z0) :|: z = z0, z0 >= 0 quicksort(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z2 + quicksort#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z2 + quicksort#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 quicksortD(z) -{ 0 }-> quicksortD#1(z0) :|: z = z0, z0 >= 0 quicksortD(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z2 + quicksortD#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z2 + quicksortD#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 split(z, z') -{ 0 }-> split#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 split(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z2), z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 split#1(z, z') -{ 0 }-> split#2(0, z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 split#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z0 >= 0, z = 0, z' = z0 split#2(z, z', z'') -{ 0 }-> split#3(0, z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z3, z2)), z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z0 + (1 + z2 + z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z2 + z0) + z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 splitD(z, z') -{ 0 }-> splitD#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 splitD(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z2), z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z0 >= 0, z = 0, z' = z0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(0, z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z3, z2)), z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z0 + (1 + z2 + z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z2 + z0) + z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 testList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z = z0, z0 >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z = z0, z0 >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z = z0, z0 >= 0 testQuicksort(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z = z0, z0 >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z = z0, z0 >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (13) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: #ABS(z) -{ 1 }-> 3 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 2 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ABS(z) -{ 1 }-> 1 :|: z = 1 + z0, z0 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z2 + z0) + z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z0 + (1 + z2 + z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z2 + z0) + z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z0 + (1 + z2 + z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 TESTLIST(z) -{ 1 }-> 1 + #ABS(0) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + 0))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + 0))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + 0)))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z = z0, z0 >= 0 TESTLIST(z) -{ 1 }-> 1 + #ABS(1 + (1 + 0)) :|: z = z0, z0 >= 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 2 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 1 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #COMPARE(z, z') -{ 0 }-> 8 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 7 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + z0'') :|: z' = 1 + z0'', z0'' >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + z01) :|: z01 >= 0, z' = 1 + z01, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + z02, 0) :|: z = 1 + z02, z02 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + z04, 1 + z1'') :|: z04 >= 0, z' = 1 + z1'', z = 1 + z04, z1'' >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + z0') :|: z0' >= 0, z = 0, z' = 1 + z0', 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + z05, 0) :|: z05 >= 0, z = 1 + z05, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + z06, 1 + z11) :|: z' = 1 + z11, z11 >= 0, z06 >= 0, z = 1 + z06, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + z08, 0) :|: z08 >= 0, z = 1 + z08, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + z0') :|: z0' >= 0, z = 0, z' = 1 + z0', v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + z0'') :|: z' = 1 + z0'', z0'' >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + z01) :|: z01 >= 0, z' = 1 + z01, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z02, 0) :|: z = 1 + z02, z02 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z04, 1 + z1'') :|: z04 >= 0, z' = 1 + z1'', z = 1 + z04, z1'' >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z05, 0) :|: z05 >= 0, z = 1 + z05, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z06, 1 + z11) :|: z' = 1 + z11, z11 >= 0, z06 >= 0, z = 1 + z06, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z08, 0) :|: z08 >= 0, z = 1 + z08, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z07, z12)) + #COMPARE(1 + z07, 1 + z12) :|: z' = 1 + z12, z07 >= 0, z = 1 + z07, z12 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z09, z13)) + #COMPARE(1 + z09, 1 + z13) :|: z' = 1 + z13, z = 1 + z09, z09 >= 0, z13 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z1', z03)) + #COMPARE(1 + z03, 1 + z1') :|: z' = 1 + z1', z1' >= 0, z = 1 + z03, z03 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #abs(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 #abs(z) -{ 0 }-> 1 + (1 + z0) :|: z = 1 + z0, z0 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #compare(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #compare(z, z') -{ 0 }-> #compare(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> #compare(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' = 1 + z010, z010 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z = 1 + z016, z016 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z = 1 + z017, z' = 1 + z16, z16 >= 0, z017 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z019 >= 0, z = 1 + z019, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z011 >= 0, z' = 1 + z011, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z' = 1 + z012, z012 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z = 1 + z013, z013 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z015 >= 0, z15 >= 0, z = 1 + z015, z' = 1 + z15, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 1 + z010, z010 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z011 >= 0, z' = 1 + z011, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 1 + z012, z012 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 1 + z013, z013 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z015 >= 0, z15 >= 0, z = 1 + z015, z' = 1 + z15, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 1 + z016, z016 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 1 + z017, z' = 1 + z16, z16 >= 0, z017 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z019 >= 0, z = 1 + z019, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z018, z17)) :|: z' = 1 + z17, z17 >= 0, z = 1 + z018, z018 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z020, z18)) :|: z18 >= 0, z' = 1 + z18, z = 1 + z020, z020 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z14, z014)) :|: z' = 1 + z14, z = 1 + z014, z014 >= 0, z14 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z0) :|: z = z0, z0 >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + 0) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z2 + 0) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + 0) + QUICKSORT(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z2 + 0) + QUICKSORT(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z0) :|: z = z0, z0 >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + 0) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z2 + 0) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + 0) + QUICKSORTD(z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z2 + 0) + QUICKSORTD(z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z2), z2, z0) + SPLIT(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z2, z0) + SPLIT(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z3, z2)), z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z0 >= 0, z = 0, z' = z0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z2), z2, z0) + SPLITD(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z2, z0) + SPLITD(z2, z1) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z3, z2)), z0, z1, z3) + #GREATER(z3, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z = z0, z0 >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z = z0, z0 >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 append(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 append#1(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 append#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 appendD(z, z') -{ 0 }-> appendD#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 appendD(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 appendD#1(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 appendD#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 appendD#1(z, z') -{ 0 }-> 1 + z0 + appendD(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort(z) -{ 0 }-> quicksort#1(z0) :|: z = z0, z0 >= 0 quicksort(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z2 + quicksort#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z2 + quicksort#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 quicksortD(z) -{ 0 }-> quicksortD#1(z0) :|: z = z0, z0 >= 0 quicksortD(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z2 + quicksortD#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z2 + quicksortD#1(z1)) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z2 + 0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 split(z, z') -{ 0 }-> split#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 split(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z2), z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 split#1(z, z') -{ 0 }-> split#2(0, z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 split#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z0 >= 0, z = 0, z' = z0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z3, z2)), z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, z3 = v3, v2 >= 0, v3 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z0 + (1 + z2 + z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z2 + z0) + z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 splitD(z, z') -{ 0 }-> splitD#1(z1, z0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 splitD(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z2), z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z0 >= 0, z = 0, z' = z0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z3, z2)), z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, z3 = v3, v2 >= 0, v3 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, z4 = v3, v2 >= 0, v3 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z0 + (1 + z2 + z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z2 + z0) + z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z2 >= 0, z'' = z1, z4 = z2 testList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z = z0, z0 >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z = z0, z0 >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z = z0, z0 >= 0 testQuicksort(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z = z0, z0 >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z = z0, z0 >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (15) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> appendD#1(z, z') :|: z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + appendD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 ---------------------------------------- (17) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { appendD, appendD#1 } { split#3 } { #CKGT } { splitD#3 } { #ckgt } { #COMPARE } { TESTLIST } { #ABS } { APPEND#1, APPEND } { #compare } { SPLIT#3 } { APPENDD, APPENDD#1 } { append#1, append } { SPLITD#3 } { #abs } { split#2 } { #GREATER } { splitD#2 } { #greater } { testList } { split#1 } { SPLIT#2 } { SPLITD#2 } { splitD#1 } { split } { SPLIT#1, SPLIT } { quicksort#1, quicksort#2 } { SPLITD, SPLITD#1 } { splitD } { quicksortD#2, quicksortD#1 } { QUICKSORT#2, QUICKSORT, QUICKSORT#1 } { quicksort } { QUICKSORTD, QUICKSORTD#1, QUICKSORTD#2 } { quicksortD } { TESTQUICKSORT2 } { TESTQUICKSORT } { testQuicksort2 } { testQuicksort } ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> appendD#1(z, z') :|: z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + appendD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {appendD,appendD#1}, {split#3}, {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} ---------------------------------------- (19) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> appendD#1(z, z') :|: z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + appendD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {appendD,appendD#1}, {split#3}, {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} ---------------------------------------- (21) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: appendD after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' Computed SIZE bound using CoFloCo for: appendD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> appendD#1(z, z') :|: z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + appendD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {appendD,appendD#1}, {split#3}, {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: ?, size: O(n^1) [z + z'] appendD#1: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (23) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: appendD after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 Computed RUNTIME bound using CoFloCo for: appendD#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> appendD#1(z, z') :|: z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + appendD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#3}, {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (25) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#3}, {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (27) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: split#3 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' + z'' + z4 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#3}, {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: ?, size: O(n^1) [2 + z' + z'' + z4] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: split#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] ---------------------------------------- (31) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] ---------------------------------------- (33) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #CKGT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#CKGT}, {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: ?, size: O(1) [3] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #CKGT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (37) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (39) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: splitD#3 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' + z'' + z4 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#3}, {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: ?, size: O(n^1) [2 + z' + z'' + z4] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: splitD#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] ---------------------------------------- (43) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] ---------------------------------------- (45) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #ckgt after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#ckgt}, {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: ?, size: O(1) [2] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #ckgt after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (49) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (51) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #COMPARE after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 8 + z + z' ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#COMPARE}, {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: ?, size: O(n^1) [8 + z + z'] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #COMPARE after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] ---------------------------------------- (55) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] ---------------------------------------- (57) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: TESTLIST after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 4 ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTLIST}, {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: ?, size: O(1) [4] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: TESTLIST after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] ---------------------------------------- (61) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] ---------------------------------------- (63) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #ABS after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#ABS}, {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: ?, size: O(1) [3] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #ABS after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(0) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(0)) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + 0))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + 0)))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + 0))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + 0)))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + 0))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) :|: z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 2 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + #ABS(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))))) :|: z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] ---------------------------------------- (67) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] ---------------------------------------- (69) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: APPEND#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2*z Computed SIZE bound using CoFloCo for: APPEND after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 2*z ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APPEND#1,APPEND}, {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: ?, size: O(n^1) [2*z] APPEND: runtime: ?, size: O(n^1) [1 + 2*z] ---------------------------------------- (71) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: APPEND#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + 2*z Computed RUNTIME bound using CoFloCo for: APPEND after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 4 + 2*z ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 1 }-> 1 + APPEND#1(z, z') :|: z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 1 }-> 1 + APPEND(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] ---------------------------------------- (73) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] ---------------------------------------- (75) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #compare after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#compare}, {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: ?, size: O(1) [3] ---------------------------------------- (77) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #compare after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s11 :|: s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(#ckgt(#compare(z'', z')), z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> split#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> splitD#3(#ckgt(#compare(z'', z')), z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (79) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(s75, z0, z1, z'') + #GREATER(z'', z') :|: s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (81) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: SPLIT#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(s75, z0, z1, z'') + #GREATER(z'', z') :|: s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#3}, {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: ?, size: O(1) [1] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: SPLIT#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(s75, z0, z1, z'') + #GREATER(z'', z') :|: s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 1 }-> 1 + SPLIT#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] ---------------------------------------- (85) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] ---------------------------------------- (87) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: APPENDD after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 2*z Computed SIZE bound using CoFloCo for: APPENDD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2*z ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APPENDD,APPENDD#1}, {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: ?, size: O(n^1) [1 + 2*z] APPENDD#1: runtime: ?, size: O(n^1) [2*z] ---------------------------------------- (89) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: APPENDD after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + 2*z Computed RUNTIME bound using CoFloCo for: APPENDD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 2*z ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 1 }-> 1 + APPENDD#1(z, z') :|: z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 1 }-> 1 + APPENDD(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] ---------------------------------------- (91) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] ---------------------------------------- (93) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: append#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' Computed SIZE bound using CoFloCo for: append after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {append#1,append}, {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: ?, size: O(n^1) [z + z'] append: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (95) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: append#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 Computed RUNTIME bound using CoFloCo for: append after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> append#1(z, z') :|: z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + append(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (97) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (99) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: SPLITD#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD#3}, {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: ?, size: O(1) [1] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: SPLITD#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(s77, z0, z1, z'') + #GREATER(z'', z') :|: s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 1 }-> 1 + SPLITD#3(0, z0, z1, z'') + #GREATER(z'', z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] ---------------------------------------- (103) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] ---------------------------------------- (105) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #abs after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (106) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#abs}, {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (107) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #abs after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (108) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s20) :|: s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s21) :|: s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s22) :|: s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s23) :|: s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s24) :|: s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s25) :|: s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s26) :|: s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s27) :|: s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s28) :|: s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s29) :|: s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s40) :|: s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s41) :|: s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s42) :|: s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s43) :|: s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s44) :|: s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s45) :|: s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s46) :|: s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s47) :|: s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s48) :|: s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) + (1 + s49) :|: s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + #abs(0) + (1 + #abs(1 + (1 + (1 + (1 + (1 + 0))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + (1 + #abs(1 + (1 + 0)) + (1 + #abs(1 + (1 + (1 + 0))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + (1 + #abs(1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + (1 + #abs(1 + (1 + (1 + (1 + 0)))) + 0)))))))))) :|: z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (109) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (111) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: split#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z + z'' ---------------------------------------- (112) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#2}, {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: ?, size: O(n^1) [1 + z + z''] ---------------------------------------- (113) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: split#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] ---------------------------------------- (115) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (116) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] ---------------------------------------- (117) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #GREATER after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 12 + z + z' ---------------------------------------- (118) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#GREATER}, {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: ?, size: O(n^1) [12 + z + z'] ---------------------------------------- (119) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #GREATER after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (120) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s84 + #GREATER(z'', z') :|: s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 2 }-> 1 + s85 + #GREATER(z'', z') :|: s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s93 + #GREATER(z'', z') :|: s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 2 }-> 1 + s94 + #GREATER(z'', z') :|: s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] ---------------------------------------- (121) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (122) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] ---------------------------------------- (123) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: splitD#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z + z'' ---------------------------------------- (124) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#2}, {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: ?, size: O(n^1) [1 + z + z''] ---------------------------------------- (125) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: splitD#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (126) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] ---------------------------------------- (127) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (128) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] ---------------------------------------- (129) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #greater after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (130) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {#greater}, {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: ?, size: O(1) [2] ---------------------------------------- (131) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #greater after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (132) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (133) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (134) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (135) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: testList after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 74 ---------------------------------------- (136) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testList}, {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: ?, size: O(1) [74] ---------------------------------------- (137) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: testList after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (138) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] ---------------------------------------- (139) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (140) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] ---------------------------------------- (141) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: split#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (142) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split#1}, {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (143) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: split#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (144) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(split#1(z1, z0), z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(split#1(z1, z'), z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(split#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> split#1(z', z) :|: z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> split#2(split#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (145) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (146) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(s332, z', z0) + SPLIT(z', z1) :|: s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (147) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: SPLIT#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 14 + z' + z'' ---------------------------------------- (148) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(s332, z', z0) + SPLIT(z', z1) :|: s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#2}, {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: ?, size: O(n^1) [14 + z' + z''] ---------------------------------------- (149) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: SPLIT#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (150) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(s332, z', z0) + SPLIT(z', z1) :|: s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 1 }-> 1 + SPLIT#2(0, z', z0) + SPLIT(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] ---------------------------------------- (151) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (152) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] ---------------------------------------- (153) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: SPLITD#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 14 + z' + z'' ---------------------------------------- (154) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD#2}, {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: ?, size: O(n^1) [14 + z' + z''] ---------------------------------------- (155) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: SPLITD#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (156) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(0, z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] ---------------------------------------- (157) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (158) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] ---------------------------------------- (159) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: splitD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (160) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD#1}, {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (161) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: splitD#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (162) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(splitD#1(z1, z0), z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 1 }-> 1 + SPLITD#2(splitD#1(z1, z'), z', z0) + SPLITD(z', z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(splitD#1(z1, z0), z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> splitD#1(z', z) :|: z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> splitD#2(splitD#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (163) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (164) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (165) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: split after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' ---------------------------------------- (166) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {split}, {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: ?, size: O(n^1) [1 + z'] ---------------------------------------- (167) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: split after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (168) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] ---------------------------------------- (169) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (170) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] ---------------------------------------- (171) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: SPLIT#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 15*z + z*z' + z^2 Computed SIZE bound using KoAT for: SPLIT after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 1 + z*z' + 15*z' + z'^2 ---------------------------------------- (172) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLIT#1,SPLIT}, {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: ?, size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: ?, size: O(n^2) [1 + z*z' + 15*z' + z'^2] ---------------------------------------- (173) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: SPLIT#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 9 + 5*z Computed RUNTIME bound using CoFloCo for: SPLIT after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 10 + 5*z' ---------------------------------------- (174) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(s331, z0) + SPLIT(z0, z1) :|: s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 1 }-> 1 + QUICKSORT#2(0, z0) + SPLIT(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 1 }-> 1 + SPLIT#1(z', z) :|: z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 4 }-> 1 + s337 + SPLIT(z', z1) :|: s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 4 }-> 1 + s338 + SPLIT(z', z1) :|: s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] ---------------------------------------- (175) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (176) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] ---------------------------------------- (177) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: quicksort#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z Computed SIZE bound using KoAT for: quicksort#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (178) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksort#1,quicksort#2}, {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: ?, size: O(n^1) [z] quicksort#2: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (179) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: quicksort#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 Computed RUNTIME bound using CoFloCo for: quicksort#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (180) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(quicksort#1(z0), 1 + z' + 0) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 1 }-> 1 + APPEND(0, 1 + z' + quicksort#1(z1)) + QUICKSORT(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> quicksort#1(z) :|: z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> quicksort#2(s333, z0) :|: s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> quicksort#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(quicksort#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> append(0, 1 + z' + quicksort#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (181) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (182) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (183) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: SPLITD after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 1 + z*z' + 15*z' + z'^2 Computed SIZE bound using KoAT for: SPLITD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 30 + 32*z + 2*z*z' + 2*z^2 + 2*z' ---------------------------------------- (184) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SPLITD,SPLITD#1}, {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: ?, size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: ?, size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] ---------------------------------------- (185) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: SPLITD after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + 5*z' Computed RUNTIME bound using CoFloCo for: SPLITD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 5*z ---------------------------------------- (186) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(s340, z0) + SPLITD(z0, z1) :|: s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 1 }-> 1 + QUICKSORTD#2(0, z0) + SPLITD(z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 1 }-> 1 + SPLITD#1(z', z) :|: z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 4 }-> 1 + s339 + SPLITD(z', z1) :|: s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 4 }-> 1 + s342 + SPLITD(z', z1) :|: s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] ---------------------------------------- (187) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (188) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] ---------------------------------------- (189) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: splitD after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' ---------------------------------------- (190) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {splitD}, {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: ?, size: O(n^1) [1 + z'] ---------------------------------------- (191) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: splitD after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (192) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] ---------------------------------------- (193) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (194) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] ---------------------------------------- (195) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: quicksortD#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 3*z + 3*z' Computed SIZE bound using CoFloCo for: quicksortD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 3*z ---------------------------------------- (196) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksortD#2,quicksortD#1}, {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: ?, size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: ?, size: O(n^1) [1 + 3*z] ---------------------------------------- (197) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: quicksortD#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 Computed RUNTIME bound using CoFloCo for: quicksortD#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (198) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(quicksortD#1(z0), 1 + z' + 0) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 1 }-> 1 + APPENDD(0, 1 + z' + quicksortD#1(z1)) + QUICKSORTD(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> quicksortD#1(z) :|: z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> quicksortD#2(s343, z0) :|: s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> quicksortD#2(0, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(quicksortD#1(z0), 1 + z' + 0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> appendD(0, 1 + z' + quicksortD#1(z1)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] ---------------------------------------- (199) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (200) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] ---------------------------------------- (201) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: QUICKSORT#2 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? Computed SIZE bound using CoFloCo for: QUICKSORT after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? Computed SIZE bound using CoFloCo for: QUICKSORT#1 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (202) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {QUICKSORT#2,QUICKSORT,QUICKSORT#1}, {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: ?, size: INF QUICKSORT: runtime: ?, size: INF QUICKSORT#1: runtime: ?, size: INF ---------------------------------------- (203) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: QUICKSORT#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 1 + 189*z + 54*z^2 Computed RUNTIME bound using KoAT for: QUICKSORT after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 269 + 307*z + 54*z^2 Computed RUNTIME bound using KoAT for: QUICKSORT#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 268 + 307*z + 54*z^2 ---------------------------------------- (204) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 1 }-> 1 + QUICKSORT#1(z) :|: z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(s331, z0) + s347 :|: s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 11 + 5*z1 }-> 1 + QUICKSORT#2(0, z0) + s348 :|: s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 5 + 2*s352 }-> 1 + s354 + QUICKSORT(z0) :|: s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s355 }-> 1 + s356 + QUICKSORT(z0) :|: s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s358 + QUICKSORT(z0) :|: s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s359 }-> 1 + s361 + QUICKSORT(z1) :|: s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 + 2*s362 }-> 1 + s363 + QUICKSORT(z1) :|: s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s365 + QUICKSORT(z1) :|: s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s62 + QUICKSORT(z0) :|: s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 5 }-> 1 + s63 + QUICKSORT(z1) :|: s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s30) :|: s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s31) :|: s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s32) :|: s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s34) :|: s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s35) :|: s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s36) :|: s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s37) :|: s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s38) :|: s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s39) :|: s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s125 + (1 + s126 + (1 + s127 + (1 + s128 + (1 + s129 + (1 + s130 + (1 + s131 + (1 + s132 + (1 + s133 + (1 + s134 + 0)))))))))) + (1 + s20) :|: s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s135 + (1 + s136 + (1 + s137 + (1 + s138 + (1 + s139 + (1 + s140 + (1 + s141 + (1 + s142 + (1 + s143 + (1 + s144 + 0)))))))))) + (1 + s21) :|: s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s145 + (1 + s146 + (1 + s147 + (1 + s148 + (1 + s149 + (1 + s150 + (1 + s151 + (1 + s152 + (1 + s153 + (1 + s154 + 0)))))))))) + (1 + s22) :|: s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s155 + (1 + s156 + (1 + s157 + (1 + s158 + (1 + s159 + (1 + s160 + (1 + s161 + (1 + s162 + (1 + s163 + (1 + s164 + 0)))))))))) + (1 + s23) :|: s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s165 + (1 + s166 + (1 + s167 + (1 + s168 + (1 + s169 + (1 + s170 + (1 + s171 + (1 + s172 + (1 + s173 + (1 + s174 + 0)))))))))) + (1 + s24) :|: s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s175 + (1 + s176 + (1 + s177 + (1 + s178 + (1 + s179 + (1 + s180 + (1 + s181 + (1 + s182 + (1 + s183 + (1 + s184 + 0)))))))))) + (1 + s25) :|: s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s185 + (1 + s186 + (1 + s187 + (1 + s188 + (1 + s189 + (1 + s190 + (1 + s191 + (1 + s192 + (1 + s193 + (1 + s194 + 0)))))))))) + (1 + s26) :|: s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s195 + (1 + s196 + (1 + s197 + (1 + s198 + (1 + s199 + (1 + s200 + (1 + s201 + (1 + s202 + (1 + s203 + (1 + s204 + 0)))))))))) + (1 + s27) :|: s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s205 + (1 + s206 + (1 + s207 + (1 + s208 + (1 + s209 + (1 + s210 + (1 + s211 + (1 + s212 + (1 + s213 + (1 + s214 + 0)))))))))) + (1 + s28) :|: s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 3 }-> 1 + QUICKSORT(1 + s215 + (1 + s216 + (1 + s217 + (1 + s218 + (1 + s219 + (1 + s220 + (1 + s221 + (1 + s222 + (1 + s223 + (1 + s224 + 0)))))))))) + (1 + s29) :|: s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s50) :|: s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s51) :|: s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s52) :|: s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s53) :|: s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s54) :|: s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s55) :|: s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s56) :|: s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s57) :|: s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s58) :|: s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(0) + (1 + s59) :|: s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s225 + (1 + s226 + (1 + s227 + (1 + s228 + (1 + s229 + (1 + s230 + (1 + s231 + (1 + s232 + (1 + s233 + (1 + s234 + 0)))))))))) + (1 + s40) :|: s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s235 + (1 + s236 + (1 + s237 + (1 + s238 + (1 + s239 + (1 + s240 + (1 + s241 + (1 + s242 + (1 + s243 + (1 + s244 + 0)))))))))) + (1 + s41) :|: s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s245 + (1 + s246 + (1 + s247 + (1 + s248 + (1 + s249 + (1 + s250 + (1 + s251 + (1 + s252 + (1 + s253 + (1 + s254 + 0)))))))))) + (1 + s42) :|: s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s255 + (1 + s256 + (1 + s257 + (1 + s258 + (1 + s259 + (1 + s260 + (1 + s261 + (1 + s262 + (1 + s263 + (1 + s264 + 0)))))))))) + (1 + s43) :|: s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s265 + (1 + s266 + (1 + s267 + (1 + s268 + (1 + s269 + (1 + s270 + (1 + s271 + (1 + s272 + (1 + s273 + (1 + s274 + 0)))))))))) + (1 + s44) :|: s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s275 + (1 + s276 + (1 + s277 + (1 + s278 + (1 + s279 + (1 + s280 + (1 + s281 + (1 + s282 + (1 + s283 + (1 + s284 + 0)))))))))) + (1 + s45) :|: s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s285 + (1 + s286 + (1 + s287 + (1 + s288 + (1 + s289 + (1 + s290 + (1 + s291 + (1 + s292 + (1 + s293 + (1 + s294 + 0)))))))))) + (1 + s46) :|: s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s295 + (1 + s296 + (1 + s297 + (1 + s298 + (1 + s299 + (1 + s300 + (1 + s301 + (1 + s302 + (1 + s303 + (1 + s304 + 0)))))))))) + (1 + s47) :|: s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s305 + (1 + s306 + (1 + s307 + (1 + s308 + (1 + s309 + (1 + s310 + (1 + s311 + (1 + s312 + (1 + s313 + (1 + s314 + 0)))))))))) + (1 + s48) :|: s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 3 }-> 1 + QUICKSORT(1 + s315 + (1 + s316 + (1 + s317 + (1 + s318 + (1 + s319 + (1 + s320 + (1 + s321 + (1 + s322 + (1 + s323 + (1 + s324 + 0)))))))))) + (1 + s49) :|: s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF ---------------------------------------- (205) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (206) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF ---------------------------------------- (207) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: quicksort after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (208) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksort}, {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: ?, size: O(n^1) [z] ---------------------------------------- (209) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: quicksort after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (210) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort(z) -{ 0 }-> quicksort(1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0)))))))))) :|: s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(0) :|: z >= 0 testQuicksort2(z) -{ 0 }-> quicksort(1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0)))))))))) :|: s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (211) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (212) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (213) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: QUICKSORTD after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? Computed SIZE bound using CoFloCo for: QUICKSORTD#1 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? Computed SIZE bound using CoFloCo for: QUICKSORTD#2 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (214) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {QUICKSORTD,QUICKSORTD#1,QUICKSORTD#2}, {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: ?, size: INF QUICKSORTD#1: runtime: ?, size: INF QUICKSORTD#2: runtime: ?, size: INF ---------------------------------------- (215) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: QUICKSORTD after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 40 + 151*z + 102*z^2 Computed RUNTIME bound using KoAT for: QUICKSORTD#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 359 + 1242*z + 816*z^2 Computed RUNTIME bound using KoAT for: QUICKSORTD#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 352 + 1232*z + 816*z^2 ---------------------------------------- (216) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 1 }-> 1 + QUICKSORTD#1(z) :|: z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(s340, z0) + s376 :|: s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 3 + 5*z1 }-> 1 + QUICKSORTD#2(0, z0) + s377 :|: s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 3 + 2*s381 }-> 1 + s383 + QUICKSORTD(z0) :|: s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s384 }-> 1 + s385 + QUICKSORTD(z0) :|: s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s387 + QUICKSORTD(z0) :|: s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s388 }-> 1 + s390 + QUICKSORTD(z1) :|: s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 + 2*s391 }-> 1 + s392 + QUICKSORTD(z1) :|: s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s394 + QUICKSORTD(z1) :|: s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s88 + QUICKSORTD(z0) :|: s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 3 }-> 1 + s89 + QUICKSORTD(z1) :|: s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF ---------------------------------------- (217) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (218) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF ---------------------------------------- (219) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: quicksortD after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 3*z ---------------------------------------- (220) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {quicksortD}, {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: ?, size: O(n^1) [1 + 3*z] ---------------------------------------- (221) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: quicksortD after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (222) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] ---------------------------------------- (223) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (224) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] ---------------------------------------- (225) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: TESTQUICKSORT2 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (226) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTQUICKSORT2}, {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: ?, size: INF ---------------------------------------- (227) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: TESTQUICKSORT2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 318694 ---------------------------------------- (228) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF ---------------------------------------- (229) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (230) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF ---------------------------------------- (231) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: TESTQUICKSORT after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (232) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {TESTQUICKSORT}, {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: ?, size: INF ---------------------------------------- (233) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: TESTQUICKSORT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 318694 ---------------------------------------- (234) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: O(1) [318694], size: INF ---------------------------------------- (235) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (236) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: O(1) [318694], size: INF ---------------------------------------- (237) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: testQuicksort2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 74 ---------------------------------------- (238) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testQuicksort2}, {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: O(1) [318694], size: INF testQuicksort2: runtime: ?, size: O(1) [74] ---------------------------------------- (239) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: testQuicksort2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (240) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: O(1) [318694], size: INF testQuicksort2: runtime: O(1) [0], size: O(1) [74] ---------------------------------------- (241) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (242) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: O(1) [318694], size: INF testQuicksort2: runtime: O(1) [0], size: O(1) [74] ---------------------------------------- (243) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: testQuicksort after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 74 ---------------------------------------- (244) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {testQuicksort} Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: O(1) [318694], size: INF testQuicksort2: runtime: O(1) [0], size: O(1) [74] testQuicksort: runtime: ?, size: O(1) [74] ---------------------------------------- (245) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: testQuicksort after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (246) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #CKGT(z) -{ 0 }-> 3 :|: z = 3 #CKGT(z) -{ 0 }-> 2 :|: z = 2 #CKGT(z) -{ 0 }-> 1 :|: z = 1 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s1 :|: s1 >= 0, s1 <= z' - 1 + (z - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1 + (z' - 1) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s67 + s11 :|: s66 >= 0, s66 <= 3, s67 >= 0, s67 <= 3, s11 >= 0, s11 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s69 + s18 :|: s68 >= 0, s68 <= 3, s69 >= 0, s69 <= 3, s18 >= 0, s18 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 3 + s9 :|: s9 >= 0, s9 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 2 + s5 :|: s5 >= 0, s5 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s3 :|: s3 >= 0, s3 <= 0 + 0 + 8, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 0 + s10 :|: s10 >= 0, s10 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + 0 + 8, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + (1 + (z' - 1)) + 8, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s19 :|: s19 >= 0, s19 <= z + z' + 8, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s4 :|: s4 >= 0, s4 <= 0 + 0 + 8, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 8, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s64 :|: s64 >= 0, s64 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s65 :|: s65 >= 0, s65 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s71 :|: s70 >= 0, s70 <= 3, s71 >= 0, s71 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s73 :|: s72 >= 0, s72 <= 3, s73 >= 0, s73 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z = 0, z' - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 APPEND(z, z') -{ 4 + 2*z }-> 1 + s60 :|: s60 >= 0, s60 <= 2 * z, z' >= 0, z >= 0 APPEND#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPEND#1(z, z') -{ 5 + 2*z1 }-> 1 + s61 :|: s61 >= 0, s61 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 APPENDD(z, z') -{ 2 + 2*z }-> 1 + s86 :|: s86 >= 0, s86 <= 2 * z, z' >= 0, z >= 0 APPENDD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 APPENDD#1(z, z') -{ 3 + 2*z1 }-> 1 + s87 :|: s87 >= 0, s87 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT(z) -{ 269 + 307*z + 54*z^2 }-> 1 + s405 :|: s405 >= 0, s405 <= inf, z >= 0 QUICKSORT#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORT#1(z) -{ 12 + 189*s331 + 54*s331^2 + 5*z1 }-> 1 + s406 + s347 :|: s406 >= 0, s406 <= inf', s347 >= 0, s347 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, s331 >= 0, s331 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#1(z) -{ 12 + 5*z1 }-> 1 + s407 + s348 :|: s407 >= 0, s407 <= inf'', s348 >= 0, s348 <= z1 * z0 + 15 * z1 + z1 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORT#2(z, z') -{ 274 + 2*s352 + 307*z0 + 54*z0^2 }-> 1 + s354 + s408 :|: s408 >= 0, s408 <= inf1, s352 >= 0, s352 <= z0, s353 >= 0, s353 <= z1, s354 >= 0, s354 <= 2 * s352 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s355 + 307*z0 + 54*z0^2 }-> 1 + s356 + s409 :|: s409 >= 0, s409 <= inf2, s355 >= 0, s355 <= z0, s356 >= 0, s356 <= 2 * s355 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s358 + s410 :|: s410 >= 0, s410 <= inf3, s357 >= 0, s357 <= z1, s358 >= 0, s358 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s359 + 307*z1 + 54*z1^2 }-> 1 + s361 + s412 :|: s412 >= 0, s412 <= inf5, s359 >= 0, s359 <= z0, s360 >= 0, s360 <= z1, s361 >= 0, s361 <= 2 * s359 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 2*s362 + 307*z1 + 54*z1^2 }-> 1 + s363 + s413 :|: s413 >= 0, s413 <= inf6, s362 >= 0, s362 <= z0, s363 >= 0, s363 <= 2 * s362 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s365 + s414 :|: s414 >= 0, s414 <= inf7, s364 >= 0, s364 <= z1, s365 >= 0, s365 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z0 + 54*z0^2 }-> 1 + s62 + s411 :|: s411 >= 0, s411 <= inf4, s62 >= 0, s62 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORT#2(z, z') -{ 274 + 307*z1 + 54*z1^2 }-> 1 + s63 + s415 :|: s415 >= 0, s415 <= inf8, s63 >= 0, s63 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD(z) -{ 360 + 1242*z + 816*z^2 }-> 1 + s460 :|: s460 >= 0, s460 <= inf49, z >= 0 QUICKSORTD#1(z) -{ 1 }-> 0 :|: z = 0 QUICKSORTD#1(z) -{ 355 + 1232*s340 + 816*s340^2 + 5*z1 }-> 1 + s461 + s376 :|: s461 >= 0, s461 <= inf50, s376 >= 0, s376 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, s340 >= 0, s340 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#1(z) -{ 355 + 5*z1 }-> 1 + s462 + s377 :|: s462 >= 0, s462 <= inf51, s377 >= 0, s377 <= 1 + z1 * z0 + z1 * z1 + 15 * z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 QUICKSORTD#2(z, z') -{ 43 + 2*s381 + 151*z0 + 102*z0^2 }-> 1 + s383 + s463 :|: s463 >= 0, s463 <= inf52, s381 >= 0, s381 <= 3 * z0 + 1, s382 >= 0, s382 <= 3 * z1 + 1, s383 >= 0, s383 <= 2 * s381 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s384 + 151*z0 + 102*z0^2 }-> 1 + s385 + s464 :|: s464 >= 0, s464 <= inf53, s384 >= 0, s384 <= 3 * z0 + 1, s385 >= 0, s385 <= 2 * s384 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s387 + s465 :|: s465 >= 0, s465 <= inf54, s386 >= 0, s386 <= 3 * z1 + 1, s387 >= 0, s387 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s388 + 151*z1 + 102*z1^2 }-> 1 + s390 + s467 :|: s467 >= 0, s467 <= inf56, s388 >= 0, s388 <= 3 * z0 + 1, s389 >= 0, s389 <= 3 * z1 + 1, s390 >= 0, s390 <= 2 * s388 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 2*s391 + 151*z1 + 102*z1^2 }-> 1 + s392 + s468 :|: s468 >= 0, s468 <= inf57, s391 >= 0, s391 <= 3 * z0 + 1, s392 >= 0, s392 <= 2 * s391 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s394 + s469 :|: s469 >= 0, s469 <= inf58, s393 >= 0, s393 <= 3 * z1 + 1, s394 >= 0, s394 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z0 + 102*z0^2 }-> 1 + s88 + s466 :|: s466 >= 0, s466 <= inf55, s88 >= 0, s88 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 QUICKSORTD#2(z, z') -{ 43 + 151*z1 + 102*z1^2 }-> 1 + s89 + s470 :|: s470 >= 0, s470 <= inf59, s89 >= 0, s89 <= 2 * 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT(z, z') -{ 10 + 5*z' }-> 1 + s349 :|: s349 >= 0, s349 <= z' * z' + z * z' + 15 * z', z' >= 0, z >= 0 SPLIT#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s337 + s350 :|: s350 >= 0, s350 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s337 >= 0, s337 <= z' + z0 + 14, s332 >= 0, s332 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#1(z, z') -{ 14 + 5*z1 }-> 1 + s338 + s351 :|: s351 >= 0, s351 <= z1 * z' + 15 * z1 + z1 * z1 + 1, s338 >= 0, s338 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s84 + s326 :|: s326 >= 0, s326 <= z'' + z' + 12, s84 >= 0, s84 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#2(z, z', z'') -{ 3 }-> 1 + s85 + s328 :|: s328 >= 0, s328 <= z'' + z' + 12, s85 >= 0, s85 <= 1, s74 >= 0, s74 <= 3, s75 >= 0, s75 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLIT#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 SPLITD(z, z') -{ 2 + 5*z' }-> 1 + s378 :|: s378 >= 0, s378 <= 2 * z + 32 * z' + 2 * (z * z') + 2 * (z' * z') + 30, z' >= 0, z >= 0 SPLITD#1(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s339 + s380 :|: s380 >= 0, s380 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s339 >= 0, s339 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#1(z, z') -{ 6 + 5*z1 }-> 1 + s342 + s379 :|: s379 >= 0, s379 <= 1 + z1 * z' + z1 * z1 + 15 * z1, s341 >= 0, s341 <= z1 + 1, s342 >= 0, s342 <= z' + z0 + 14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s93 + s327 :|: s327 >= 0, s327 <= z'' + z' + 12, s93 >= 0, s93 <= 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#2(z, z', z'') -{ 3 }-> 1 + s94 + s329 :|: s329 >= 0, s329 <= z'' + z' + 12, s94 >= 0, s94 <= 1, s76 >= 0, s76 <= 3, s77 >= 0, s77 <= 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 SPLITD#3(z, z', z'', z4) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 3 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 2 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + 0)))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + 0))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + 0) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + 0)) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 1 :|: z >= 0, 1 + (1 + (1 + (1 + 0))) = 1 + z0', z0' >= 0 TESTLIST(z) -{ 2 }-> 1 + 0 :|: z >= 0, 0 = 0 TESTQUICKSORT(z) -{ 8742 + 1387*s125 + 108*s125*s126 + 108*s125*s127 + 108*s125*s128 + 108*s125*s129 + 108*s125*s130 + 108*s125*s131 + 108*s125*s132 + 108*s125*s133 + 108*s125*s134 + 54*s125^2 + 1387*s126 + 108*s126*s127 + 108*s126*s128 + 108*s126*s129 + 108*s126*s130 + 108*s126*s131 + 108*s126*s132 + 108*s126*s133 + 108*s126*s134 + 54*s126^2 + 1387*s127 + 108*s127*s128 + 108*s127*s129 + 108*s127*s130 + 108*s127*s131 + 108*s127*s132 + 108*s127*s133 + 108*s127*s134 + 54*s127^2 + 1387*s128 + 108*s128*s129 + 108*s128*s130 + 108*s128*s131 + 108*s128*s132 + 108*s128*s133 + 108*s128*s134 + 54*s128^2 + 1387*s129 + 108*s129*s130 + 108*s129*s131 + 108*s129*s132 + 108*s129*s133 + 108*s129*s134 + 54*s129^2 + 1387*s130 + 108*s130*s131 + 108*s130*s132 + 108*s130*s133 + 108*s130*s134 + 54*s130^2 + 1387*s131 + 108*s131*s132 + 108*s131*s133 + 108*s131*s134 + 54*s131^2 + 1387*s132 + 108*s132*s133 + 108*s132*s134 + 54*s132^2 + 1387*s133 + 108*s133*s134 + 54*s133^2 + 1387*s134 + 54*s134^2 }-> 1 + s416 + (1 + s20) :|: s416 >= 0, s416 <= inf9, s125 >= 0, s125 <= 0 + 1, s126 >= 0, s126 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s127 >= 0, s127 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s128 >= 0, s128 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s129 >= 0, s129 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s130 >= 0, s130 <= 1 + (1 + 0) + 1, s131 >= 0, s131 <= 1 + (1 + (1 + 0)) + 1, s132 >= 0, s132 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s133 >= 0, s133 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s134 >= 0, s134 <= 1 + (1 + (1 + (1 + 0))) + 1, s20 >= 0, s20 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s135 + 108*s135*s136 + 108*s135*s137 + 108*s135*s138 + 108*s135*s139 + 108*s135*s140 + 108*s135*s141 + 108*s135*s142 + 108*s135*s143 + 108*s135*s144 + 54*s135^2 + 1387*s136 + 108*s136*s137 + 108*s136*s138 + 108*s136*s139 + 108*s136*s140 + 108*s136*s141 + 108*s136*s142 + 108*s136*s143 + 108*s136*s144 + 54*s136^2 + 1387*s137 + 108*s137*s138 + 108*s137*s139 + 108*s137*s140 + 108*s137*s141 + 108*s137*s142 + 108*s137*s143 + 108*s137*s144 + 54*s137^2 + 1387*s138 + 108*s138*s139 + 108*s138*s140 + 108*s138*s141 + 108*s138*s142 + 108*s138*s143 + 108*s138*s144 + 54*s138^2 + 1387*s139 + 108*s139*s140 + 108*s139*s141 + 108*s139*s142 + 108*s139*s143 + 108*s139*s144 + 54*s139^2 + 1387*s140 + 108*s140*s141 + 108*s140*s142 + 108*s140*s143 + 108*s140*s144 + 54*s140^2 + 1387*s141 + 108*s141*s142 + 108*s141*s143 + 108*s141*s144 + 54*s141^2 + 1387*s142 + 108*s142*s143 + 108*s142*s144 + 54*s142^2 + 1387*s143 + 108*s143*s144 + 54*s143^2 + 1387*s144 + 54*s144^2 }-> 1 + s417 + (1 + s21) :|: s417 >= 0, s417 <= inf10, s135 >= 0, s135 <= 0 + 1, s136 >= 0, s136 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s137 >= 0, s137 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s138 >= 0, s138 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s139 >= 0, s139 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s140 >= 0, s140 <= 1 + (1 + 0) + 1, s141 >= 0, s141 <= 1 + (1 + (1 + 0)) + 1, s142 >= 0, s142 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s143 >= 0, s143 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s144 >= 0, s144 <= 1 + (1 + (1 + (1 + 0))) + 1, s21 >= 0, s21 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s145 + 108*s145*s146 + 108*s145*s147 + 108*s145*s148 + 108*s145*s149 + 108*s145*s150 + 108*s145*s151 + 108*s145*s152 + 108*s145*s153 + 108*s145*s154 + 54*s145^2 + 1387*s146 + 108*s146*s147 + 108*s146*s148 + 108*s146*s149 + 108*s146*s150 + 108*s146*s151 + 108*s146*s152 + 108*s146*s153 + 108*s146*s154 + 54*s146^2 + 1387*s147 + 108*s147*s148 + 108*s147*s149 + 108*s147*s150 + 108*s147*s151 + 108*s147*s152 + 108*s147*s153 + 108*s147*s154 + 54*s147^2 + 1387*s148 + 108*s148*s149 + 108*s148*s150 + 108*s148*s151 + 108*s148*s152 + 108*s148*s153 + 108*s148*s154 + 54*s148^2 + 1387*s149 + 108*s149*s150 + 108*s149*s151 + 108*s149*s152 + 108*s149*s153 + 108*s149*s154 + 54*s149^2 + 1387*s150 + 108*s150*s151 + 108*s150*s152 + 108*s150*s153 + 108*s150*s154 + 54*s150^2 + 1387*s151 + 108*s151*s152 + 108*s151*s153 + 108*s151*s154 + 54*s151^2 + 1387*s152 + 108*s152*s153 + 108*s152*s154 + 54*s152^2 + 1387*s153 + 108*s153*s154 + 54*s153^2 + 1387*s154 + 54*s154^2 }-> 1 + s418 + (1 + s22) :|: s418 >= 0, s418 <= inf11, s145 >= 0, s145 <= 0 + 1, s146 >= 0, s146 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s147 >= 0, s147 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s148 >= 0, s148 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s149 >= 0, s149 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s150 >= 0, s150 <= 1 + (1 + 0) + 1, s151 >= 0, s151 <= 1 + (1 + (1 + 0)) + 1, s152 >= 0, s152 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s153 >= 0, s153 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s154 >= 0, s154 <= 1 + (1 + (1 + (1 + 0))) + 1, s22 >= 0, s22 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s155 + 108*s155*s156 + 108*s155*s157 + 108*s155*s158 + 108*s155*s159 + 108*s155*s160 + 108*s155*s161 + 108*s155*s162 + 108*s155*s163 + 108*s155*s164 + 54*s155^2 + 1387*s156 + 108*s156*s157 + 108*s156*s158 + 108*s156*s159 + 108*s156*s160 + 108*s156*s161 + 108*s156*s162 + 108*s156*s163 + 108*s156*s164 + 54*s156^2 + 1387*s157 + 108*s157*s158 + 108*s157*s159 + 108*s157*s160 + 108*s157*s161 + 108*s157*s162 + 108*s157*s163 + 108*s157*s164 + 54*s157^2 + 1387*s158 + 108*s158*s159 + 108*s158*s160 + 108*s158*s161 + 108*s158*s162 + 108*s158*s163 + 108*s158*s164 + 54*s158^2 + 1387*s159 + 108*s159*s160 + 108*s159*s161 + 108*s159*s162 + 108*s159*s163 + 108*s159*s164 + 54*s159^2 + 1387*s160 + 108*s160*s161 + 108*s160*s162 + 108*s160*s163 + 108*s160*s164 + 54*s160^2 + 1387*s161 + 108*s161*s162 + 108*s161*s163 + 108*s161*s164 + 54*s161^2 + 1387*s162 + 108*s162*s163 + 108*s162*s164 + 54*s162^2 + 1387*s163 + 108*s163*s164 + 54*s163^2 + 1387*s164 + 54*s164^2 }-> 1 + s419 + (1 + s23) :|: s419 >= 0, s419 <= inf12, s155 >= 0, s155 <= 0 + 1, s156 >= 0, s156 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s157 >= 0, s157 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s158 >= 0, s158 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s159 >= 0, s159 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s160 >= 0, s160 <= 1 + (1 + 0) + 1, s161 >= 0, s161 <= 1 + (1 + (1 + 0)) + 1, s162 >= 0, s162 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s163 >= 0, s163 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s164 >= 0, s164 <= 1 + (1 + (1 + (1 + 0))) + 1, s23 >= 0, s23 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s165 + 108*s165*s166 + 108*s165*s167 + 108*s165*s168 + 108*s165*s169 + 108*s165*s170 + 108*s165*s171 + 108*s165*s172 + 108*s165*s173 + 108*s165*s174 + 54*s165^2 + 1387*s166 + 108*s166*s167 + 108*s166*s168 + 108*s166*s169 + 108*s166*s170 + 108*s166*s171 + 108*s166*s172 + 108*s166*s173 + 108*s166*s174 + 54*s166^2 + 1387*s167 + 108*s167*s168 + 108*s167*s169 + 108*s167*s170 + 108*s167*s171 + 108*s167*s172 + 108*s167*s173 + 108*s167*s174 + 54*s167^2 + 1387*s168 + 108*s168*s169 + 108*s168*s170 + 108*s168*s171 + 108*s168*s172 + 108*s168*s173 + 108*s168*s174 + 54*s168^2 + 1387*s169 + 108*s169*s170 + 108*s169*s171 + 108*s169*s172 + 108*s169*s173 + 108*s169*s174 + 54*s169^2 + 1387*s170 + 108*s170*s171 + 108*s170*s172 + 108*s170*s173 + 108*s170*s174 + 54*s170^2 + 1387*s171 + 108*s171*s172 + 108*s171*s173 + 108*s171*s174 + 54*s171^2 + 1387*s172 + 108*s172*s173 + 108*s172*s174 + 54*s172^2 + 1387*s173 + 108*s173*s174 + 54*s173^2 + 1387*s174 + 54*s174^2 }-> 1 + s420 + (1 + s24) :|: s420 >= 0, s420 <= inf13, s165 >= 0, s165 <= 0 + 1, s166 >= 0, s166 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s167 >= 0, s167 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s168 >= 0, s168 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s169 >= 0, s169 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s170 >= 0, s170 <= 1 + (1 + 0) + 1, s171 >= 0, s171 <= 1 + (1 + (1 + 0)) + 1, s172 >= 0, s172 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s173 >= 0, s173 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s174 >= 0, s174 <= 1 + (1 + (1 + (1 + 0))) + 1, s24 >= 0, s24 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s175 + 108*s175*s176 + 108*s175*s177 + 108*s175*s178 + 108*s175*s179 + 108*s175*s180 + 108*s175*s181 + 108*s175*s182 + 108*s175*s183 + 108*s175*s184 + 54*s175^2 + 1387*s176 + 108*s176*s177 + 108*s176*s178 + 108*s176*s179 + 108*s176*s180 + 108*s176*s181 + 108*s176*s182 + 108*s176*s183 + 108*s176*s184 + 54*s176^2 + 1387*s177 + 108*s177*s178 + 108*s177*s179 + 108*s177*s180 + 108*s177*s181 + 108*s177*s182 + 108*s177*s183 + 108*s177*s184 + 54*s177^2 + 1387*s178 + 108*s178*s179 + 108*s178*s180 + 108*s178*s181 + 108*s178*s182 + 108*s178*s183 + 108*s178*s184 + 54*s178^2 + 1387*s179 + 108*s179*s180 + 108*s179*s181 + 108*s179*s182 + 108*s179*s183 + 108*s179*s184 + 54*s179^2 + 1387*s180 + 108*s180*s181 + 108*s180*s182 + 108*s180*s183 + 108*s180*s184 + 54*s180^2 + 1387*s181 + 108*s181*s182 + 108*s181*s183 + 108*s181*s184 + 54*s181^2 + 1387*s182 + 108*s182*s183 + 108*s182*s184 + 54*s182^2 + 1387*s183 + 108*s183*s184 + 54*s183^2 + 1387*s184 + 54*s184^2 }-> 1 + s421 + (1 + s25) :|: s421 >= 0, s421 <= inf14, s175 >= 0, s175 <= 0 + 1, s176 >= 0, s176 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s177 >= 0, s177 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s178 >= 0, s178 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s179 >= 0, s179 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s180 >= 0, s180 <= 1 + (1 + 0) + 1, s181 >= 0, s181 <= 1 + (1 + (1 + 0)) + 1, s182 >= 0, s182 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s183 >= 0, s183 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s184 >= 0, s184 <= 1 + (1 + (1 + (1 + 0))) + 1, s25 >= 0, s25 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s185 + 108*s185*s186 + 108*s185*s187 + 108*s185*s188 + 108*s185*s189 + 108*s185*s190 + 108*s185*s191 + 108*s185*s192 + 108*s185*s193 + 108*s185*s194 + 54*s185^2 + 1387*s186 + 108*s186*s187 + 108*s186*s188 + 108*s186*s189 + 108*s186*s190 + 108*s186*s191 + 108*s186*s192 + 108*s186*s193 + 108*s186*s194 + 54*s186^2 + 1387*s187 + 108*s187*s188 + 108*s187*s189 + 108*s187*s190 + 108*s187*s191 + 108*s187*s192 + 108*s187*s193 + 108*s187*s194 + 54*s187^2 + 1387*s188 + 108*s188*s189 + 108*s188*s190 + 108*s188*s191 + 108*s188*s192 + 108*s188*s193 + 108*s188*s194 + 54*s188^2 + 1387*s189 + 108*s189*s190 + 108*s189*s191 + 108*s189*s192 + 108*s189*s193 + 108*s189*s194 + 54*s189^2 + 1387*s190 + 108*s190*s191 + 108*s190*s192 + 108*s190*s193 + 108*s190*s194 + 54*s190^2 + 1387*s191 + 108*s191*s192 + 108*s191*s193 + 108*s191*s194 + 54*s191^2 + 1387*s192 + 108*s192*s193 + 108*s192*s194 + 54*s192^2 + 1387*s193 + 108*s193*s194 + 54*s193^2 + 1387*s194 + 54*s194^2 }-> 1 + s422 + (1 + s26) :|: s422 >= 0, s422 <= inf15, s185 >= 0, s185 <= 0 + 1, s186 >= 0, s186 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s187 >= 0, s187 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s188 >= 0, s188 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s189 >= 0, s189 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s190 >= 0, s190 <= 1 + (1 + 0) + 1, s191 >= 0, s191 <= 1 + (1 + (1 + 0)) + 1, s192 >= 0, s192 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s193 >= 0, s193 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s194 >= 0, s194 <= 1 + (1 + (1 + (1 + 0))) + 1, s26 >= 0, s26 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s195 + 108*s195*s196 + 108*s195*s197 + 108*s195*s198 + 108*s195*s199 + 108*s195*s200 + 108*s195*s201 + 108*s195*s202 + 108*s195*s203 + 108*s195*s204 + 54*s195^2 + 1387*s196 + 108*s196*s197 + 108*s196*s198 + 108*s196*s199 + 108*s196*s200 + 108*s196*s201 + 108*s196*s202 + 108*s196*s203 + 108*s196*s204 + 54*s196^2 + 1387*s197 + 108*s197*s198 + 108*s197*s199 + 108*s197*s200 + 108*s197*s201 + 108*s197*s202 + 108*s197*s203 + 108*s197*s204 + 54*s197^2 + 1387*s198 + 108*s198*s199 + 108*s198*s200 + 108*s198*s201 + 108*s198*s202 + 108*s198*s203 + 108*s198*s204 + 54*s198^2 + 1387*s199 + 108*s199*s200 + 108*s199*s201 + 108*s199*s202 + 108*s199*s203 + 108*s199*s204 + 54*s199^2 + 1387*s200 + 108*s200*s201 + 108*s200*s202 + 108*s200*s203 + 108*s200*s204 + 54*s200^2 + 1387*s201 + 108*s201*s202 + 108*s201*s203 + 108*s201*s204 + 54*s201^2 + 1387*s202 + 108*s202*s203 + 108*s202*s204 + 54*s202^2 + 1387*s203 + 108*s203*s204 + 54*s203^2 + 1387*s204 + 54*s204^2 }-> 1 + s423 + (1 + s27) :|: s423 >= 0, s423 <= inf16, s195 >= 0, s195 <= 0 + 1, s196 >= 0, s196 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s197 >= 0, s197 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s198 >= 0, s198 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s199 >= 0, s199 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s200 >= 0, s200 <= 1 + (1 + 0) + 1, s201 >= 0, s201 <= 1 + (1 + (1 + 0)) + 1, s202 >= 0, s202 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s203 >= 0, s203 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s204 >= 0, s204 <= 1 + (1 + (1 + (1 + 0))) + 1, s27 >= 0, s27 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s205 + 108*s205*s206 + 108*s205*s207 + 108*s205*s208 + 108*s205*s209 + 108*s205*s210 + 108*s205*s211 + 108*s205*s212 + 108*s205*s213 + 108*s205*s214 + 54*s205^2 + 1387*s206 + 108*s206*s207 + 108*s206*s208 + 108*s206*s209 + 108*s206*s210 + 108*s206*s211 + 108*s206*s212 + 108*s206*s213 + 108*s206*s214 + 54*s206^2 + 1387*s207 + 108*s207*s208 + 108*s207*s209 + 108*s207*s210 + 108*s207*s211 + 108*s207*s212 + 108*s207*s213 + 108*s207*s214 + 54*s207^2 + 1387*s208 + 108*s208*s209 + 108*s208*s210 + 108*s208*s211 + 108*s208*s212 + 108*s208*s213 + 108*s208*s214 + 54*s208^2 + 1387*s209 + 108*s209*s210 + 108*s209*s211 + 108*s209*s212 + 108*s209*s213 + 108*s209*s214 + 54*s209^2 + 1387*s210 + 108*s210*s211 + 108*s210*s212 + 108*s210*s213 + 108*s210*s214 + 54*s210^2 + 1387*s211 + 108*s211*s212 + 108*s211*s213 + 108*s211*s214 + 54*s211^2 + 1387*s212 + 108*s212*s213 + 108*s212*s214 + 54*s212^2 + 1387*s213 + 108*s213*s214 + 54*s213^2 + 1387*s214 + 54*s214^2 }-> 1 + s424 + (1 + s28) :|: s424 >= 0, s424 <= inf17, s205 >= 0, s205 <= 0 + 1, s206 >= 0, s206 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s207 >= 0, s207 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s208 >= 0, s208 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s209 >= 0, s209 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s210 >= 0, s210 <= 1 + (1 + 0) + 1, s211 >= 0, s211 <= 1 + (1 + (1 + 0)) + 1, s212 >= 0, s212 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s213 >= 0, s213 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s214 >= 0, s214 <= 1 + (1 + (1 + (1 + 0))) + 1, s28 >= 0, s28 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 8742 + 1387*s215 + 108*s215*s216 + 108*s215*s217 + 108*s215*s218 + 108*s215*s219 + 108*s215*s220 + 108*s215*s221 + 108*s215*s222 + 108*s215*s223 + 108*s215*s224 + 54*s215^2 + 1387*s216 + 108*s216*s217 + 108*s216*s218 + 108*s216*s219 + 108*s216*s220 + 108*s216*s221 + 108*s216*s222 + 108*s216*s223 + 108*s216*s224 + 54*s216^2 + 1387*s217 + 108*s217*s218 + 108*s217*s219 + 108*s217*s220 + 108*s217*s221 + 108*s217*s222 + 108*s217*s223 + 108*s217*s224 + 54*s217^2 + 1387*s218 + 108*s218*s219 + 108*s218*s220 + 108*s218*s221 + 108*s218*s222 + 108*s218*s223 + 108*s218*s224 + 54*s218^2 + 1387*s219 + 108*s219*s220 + 108*s219*s221 + 108*s219*s222 + 108*s219*s223 + 108*s219*s224 + 54*s219^2 + 1387*s220 + 108*s220*s221 + 108*s220*s222 + 108*s220*s223 + 108*s220*s224 + 54*s220^2 + 1387*s221 + 108*s221*s222 + 108*s221*s223 + 108*s221*s224 + 54*s221^2 + 1387*s222 + 108*s222*s223 + 108*s222*s224 + 54*s222^2 + 1387*s223 + 108*s223*s224 + 54*s223^2 + 1387*s224 + 54*s224^2 }-> 1 + s425 + (1 + s29) :|: s425 >= 0, s425 <= inf18, s215 >= 0, s215 <= 0 + 1, s216 >= 0, s216 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s217 >= 0, s217 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s218 >= 0, s218 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s219 >= 0, s219 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s220 >= 0, s220 <= 1 + (1 + 0) + 1, s221 >= 0, s221 <= 1 + (1 + (1 + 0)) + 1, s222 >= 0, s222 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s223 >= 0, s223 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s224 >= 0, s224 <= 1 + (1 + (1 + (1 + 0))) + 1, s29 >= 0, s29 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s426 + (1 + s30) :|: s426 >= 0, s426 <= inf19, s30 >= 0, s30 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s427 + (1 + s31) :|: s427 >= 0, s427 <= inf20, s31 >= 0, s31 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s428 + (1 + s32) :|: s428 >= 0, s428 <= inf21, s32 >= 0, s32 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s429 + (1 + s33) :|: s429 >= 0, s429 <= inf22, s33 >= 0, s33 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s430 + (1 + s34) :|: s430 >= 0, s430 <= inf23, s34 >= 0, s34 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s431 + (1 + s35) :|: s431 >= 0, s431 <= inf24, s35 >= 0, s35 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s432 + (1 + s36) :|: s432 >= 0, s432 <= inf25, s36 >= 0, s36 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s433 + (1 + s37) :|: s433 >= 0, s433 <= inf26, s37 >= 0, s37 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s434 + (1 + s38) :|: s434 >= 0, s434 <= inf27, s38 >= 0, s38 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT(z) -{ 272 }-> 1 + s435 + (1 + s39) :|: s435 >= 0, s435 <= inf28, s39 >= 0, s39 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s225 + 108*s225*s226 + 108*s225*s227 + 108*s225*s228 + 108*s225*s229 + 108*s225*s230 + 108*s225*s231 + 108*s225*s232 + 108*s225*s233 + 108*s225*s234 + 54*s225^2 + 1387*s226 + 108*s226*s227 + 108*s226*s228 + 108*s226*s229 + 108*s226*s230 + 108*s226*s231 + 108*s226*s232 + 108*s226*s233 + 108*s226*s234 + 54*s226^2 + 1387*s227 + 108*s227*s228 + 108*s227*s229 + 108*s227*s230 + 108*s227*s231 + 108*s227*s232 + 108*s227*s233 + 108*s227*s234 + 54*s227^2 + 1387*s228 + 108*s228*s229 + 108*s228*s230 + 108*s228*s231 + 108*s228*s232 + 108*s228*s233 + 108*s228*s234 + 54*s228^2 + 1387*s229 + 108*s229*s230 + 108*s229*s231 + 108*s229*s232 + 108*s229*s233 + 108*s229*s234 + 54*s229^2 + 1387*s230 + 108*s230*s231 + 108*s230*s232 + 108*s230*s233 + 108*s230*s234 + 54*s230^2 + 1387*s231 + 108*s231*s232 + 108*s231*s233 + 108*s231*s234 + 54*s231^2 + 1387*s232 + 108*s232*s233 + 108*s232*s234 + 54*s232^2 + 1387*s233 + 108*s233*s234 + 54*s233^2 + 1387*s234 + 54*s234^2 }-> 1 + s436 + (1 + s40) :|: s436 >= 0, s436 <= inf29, s225 >= 0, s225 <= 0 + 1, s226 >= 0, s226 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s227 >= 0, s227 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s228 >= 0, s228 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s229 >= 0, s229 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s230 >= 0, s230 <= 1 + (1 + 0) + 1, s231 >= 0, s231 <= 1 + (1 + (1 + 0)) + 1, s232 >= 0, s232 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s233 >= 0, s233 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s234 >= 0, s234 <= 1 + (1 + (1 + (1 + 0))) + 1, s40 >= 0, s40 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s235 + 108*s235*s236 + 108*s235*s237 + 108*s235*s238 + 108*s235*s239 + 108*s235*s240 + 108*s235*s241 + 108*s235*s242 + 108*s235*s243 + 108*s235*s244 + 54*s235^2 + 1387*s236 + 108*s236*s237 + 108*s236*s238 + 108*s236*s239 + 108*s236*s240 + 108*s236*s241 + 108*s236*s242 + 108*s236*s243 + 108*s236*s244 + 54*s236^2 + 1387*s237 + 108*s237*s238 + 108*s237*s239 + 108*s237*s240 + 108*s237*s241 + 108*s237*s242 + 108*s237*s243 + 108*s237*s244 + 54*s237^2 + 1387*s238 + 108*s238*s239 + 108*s238*s240 + 108*s238*s241 + 108*s238*s242 + 108*s238*s243 + 108*s238*s244 + 54*s238^2 + 1387*s239 + 108*s239*s240 + 108*s239*s241 + 108*s239*s242 + 108*s239*s243 + 108*s239*s244 + 54*s239^2 + 1387*s240 + 108*s240*s241 + 108*s240*s242 + 108*s240*s243 + 108*s240*s244 + 54*s240^2 + 1387*s241 + 108*s241*s242 + 108*s241*s243 + 108*s241*s244 + 54*s241^2 + 1387*s242 + 108*s242*s243 + 108*s242*s244 + 54*s242^2 + 1387*s243 + 108*s243*s244 + 54*s243^2 + 1387*s244 + 54*s244^2 }-> 1 + s437 + (1 + s41) :|: s437 >= 0, s437 <= inf30, s235 >= 0, s235 <= 0 + 1, s236 >= 0, s236 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s237 >= 0, s237 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s238 >= 0, s238 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s239 >= 0, s239 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s240 >= 0, s240 <= 1 + (1 + 0) + 1, s241 >= 0, s241 <= 1 + (1 + (1 + 0)) + 1, s242 >= 0, s242 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s243 >= 0, s243 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s244 >= 0, s244 <= 1 + (1 + (1 + (1 + 0))) + 1, s41 >= 0, s41 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s245 + 108*s245*s246 + 108*s245*s247 + 108*s245*s248 + 108*s245*s249 + 108*s245*s250 + 108*s245*s251 + 108*s245*s252 + 108*s245*s253 + 108*s245*s254 + 54*s245^2 + 1387*s246 + 108*s246*s247 + 108*s246*s248 + 108*s246*s249 + 108*s246*s250 + 108*s246*s251 + 108*s246*s252 + 108*s246*s253 + 108*s246*s254 + 54*s246^2 + 1387*s247 + 108*s247*s248 + 108*s247*s249 + 108*s247*s250 + 108*s247*s251 + 108*s247*s252 + 108*s247*s253 + 108*s247*s254 + 54*s247^2 + 1387*s248 + 108*s248*s249 + 108*s248*s250 + 108*s248*s251 + 108*s248*s252 + 108*s248*s253 + 108*s248*s254 + 54*s248^2 + 1387*s249 + 108*s249*s250 + 108*s249*s251 + 108*s249*s252 + 108*s249*s253 + 108*s249*s254 + 54*s249^2 + 1387*s250 + 108*s250*s251 + 108*s250*s252 + 108*s250*s253 + 108*s250*s254 + 54*s250^2 + 1387*s251 + 108*s251*s252 + 108*s251*s253 + 108*s251*s254 + 54*s251^2 + 1387*s252 + 108*s252*s253 + 108*s252*s254 + 54*s252^2 + 1387*s253 + 108*s253*s254 + 54*s253^2 + 1387*s254 + 54*s254^2 }-> 1 + s438 + (1 + s42) :|: s438 >= 0, s438 <= inf31, s245 >= 0, s245 <= 0 + 1, s246 >= 0, s246 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s247 >= 0, s247 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s248 >= 0, s248 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s249 >= 0, s249 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s250 >= 0, s250 <= 1 + (1 + 0) + 1, s251 >= 0, s251 <= 1 + (1 + (1 + 0)) + 1, s252 >= 0, s252 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s253 >= 0, s253 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s254 >= 0, s254 <= 1 + (1 + (1 + (1 + 0))) + 1, s42 >= 0, s42 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s255 + 108*s255*s256 + 108*s255*s257 + 108*s255*s258 + 108*s255*s259 + 108*s255*s260 + 108*s255*s261 + 108*s255*s262 + 108*s255*s263 + 108*s255*s264 + 54*s255^2 + 1387*s256 + 108*s256*s257 + 108*s256*s258 + 108*s256*s259 + 108*s256*s260 + 108*s256*s261 + 108*s256*s262 + 108*s256*s263 + 108*s256*s264 + 54*s256^2 + 1387*s257 + 108*s257*s258 + 108*s257*s259 + 108*s257*s260 + 108*s257*s261 + 108*s257*s262 + 108*s257*s263 + 108*s257*s264 + 54*s257^2 + 1387*s258 + 108*s258*s259 + 108*s258*s260 + 108*s258*s261 + 108*s258*s262 + 108*s258*s263 + 108*s258*s264 + 54*s258^2 + 1387*s259 + 108*s259*s260 + 108*s259*s261 + 108*s259*s262 + 108*s259*s263 + 108*s259*s264 + 54*s259^2 + 1387*s260 + 108*s260*s261 + 108*s260*s262 + 108*s260*s263 + 108*s260*s264 + 54*s260^2 + 1387*s261 + 108*s261*s262 + 108*s261*s263 + 108*s261*s264 + 54*s261^2 + 1387*s262 + 108*s262*s263 + 108*s262*s264 + 54*s262^2 + 1387*s263 + 108*s263*s264 + 54*s263^2 + 1387*s264 + 54*s264^2 }-> 1 + s439 + (1 + s43) :|: s439 >= 0, s439 <= inf32, s255 >= 0, s255 <= 0 + 1, s256 >= 0, s256 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s257 >= 0, s257 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s258 >= 0, s258 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s259 >= 0, s259 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s260 >= 0, s260 <= 1 + (1 + 0) + 1, s261 >= 0, s261 <= 1 + (1 + (1 + 0)) + 1, s262 >= 0, s262 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s263 >= 0, s263 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s264 >= 0, s264 <= 1 + (1 + (1 + (1 + 0))) + 1, s43 >= 0, s43 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s265 + 108*s265*s266 + 108*s265*s267 + 108*s265*s268 + 108*s265*s269 + 108*s265*s270 + 108*s265*s271 + 108*s265*s272 + 108*s265*s273 + 108*s265*s274 + 54*s265^2 + 1387*s266 + 108*s266*s267 + 108*s266*s268 + 108*s266*s269 + 108*s266*s270 + 108*s266*s271 + 108*s266*s272 + 108*s266*s273 + 108*s266*s274 + 54*s266^2 + 1387*s267 + 108*s267*s268 + 108*s267*s269 + 108*s267*s270 + 108*s267*s271 + 108*s267*s272 + 108*s267*s273 + 108*s267*s274 + 54*s267^2 + 1387*s268 + 108*s268*s269 + 108*s268*s270 + 108*s268*s271 + 108*s268*s272 + 108*s268*s273 + 108*s268*s274 + 54*s268^2 + 1387*s269 + 108*s269*s270 + 108*s269*s271 + 108*s269*s272 + 108*s269*s273 + 108*s269*s274 + 54*s269^2 + 1387*s270 + 108*s270*s271 + 108*s270*s272 + 108*s270*s273 + 108*s270*s274 + 54*s270^2 + 1387*s271 + 108*s271*s272 + 108*s271*s273 + 108*s271*s274 + 54*s271^2 + 1387*s272 + 108*s272*s273 + 108*s272*s274 + 54*s272^2 + 1387*s273 + 108*s273*s274 + 54*s273^2 + 1387*s274 + 54*s274^2 }-> 1 + s440 + (1 + s44) :|: s440 >= 0, s440 <= inf33, s265 >= 0, s265 <= 0 + 1, s266 >= 0, s266 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s267 >= 0, s267 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s268 >= 0, s268 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s269 >= 0, s269 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s270 >= 0, s270 <= 1 + (1 + 0) + 1, s271 >= 0, s271 <= 1 + (1 + (1 + 0)) + 1, s272 >= 0, s272 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s273 >= 0, s273 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s274 >= 0, s274 <= 1 + (1 + (1 + (1 + 0))) + 1, s44 >= 0, s44 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s275 + 108*s275*s276 + 108*s275*s277 + 108*s275*s278 + 108*s275*s279 + 108*s275*s280 + 108*s275*s281 + 108*s275*s282 + 108*s275*s283 + 108*s275*s284 + 54*s275^2 + 1387*s276 + 108*s276*s277 + 108*s276*s278 + 108*s276*s279 + 108*s276*s280 + 108*s276*s281 + 108*s276*s282 + 108*s276*s283 + 108*s276*s284 + 54*s276^2 + 1387*s277 + 108*s277*s278 + 108*s277*s279 + 108*s277*s280 + 108*s277*s281 + 108*s277*s282 + 108*s277*s283 + 108*s277*s284 + 54*s277^2 + 1387*s278 + 108*s278*s279 + 108*s278*s280 + 108*s278*s281 + 108*s278*s282 + 108*s278*s283 + 108*s278*s284 + 54*s278^2 + 1387*s279 + 108*s279*s280 + 108*s279*s281 + 108*s279*s282 + 108*s279*s283 + 108*s279*s284 + 54*s279^2 + 1387*s280 + 108*s280*s281 + 108*s280*s282 + 108*s280*s283 + 108*s280*s284 + 54*s280^2 + 1387*s281 + 108*s281*s282 + 108*s281*s283 + 108*s281*s284 + 54*s281^2 + 1387*s282 + 108*s282*s283 + 108*s282*s284 + 54*s282^2 + 1387*s283 + 108*s283*s284 + 54*s283^2 + 1387*s284 + 54*s284^2 }-> 1 + s441 + (1 + s45) :|: s441 >= 0, s441 <= inf34, s275 >= 0, s275 <= 0 + 1, s276 >= 0, s276 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s277 >= 0, s277 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s278 >= 0, s278 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s279 >= 0, s279 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s280 >= 0, s280 <= 1 + (1 + 0) + 1, s281 >= 0, s281 <= 1 + (1 + (1 + 0)) + 1, s282 >= 0, s282 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s283 >= 0, s283 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s284 >= 0, s284 <= 1 + (1 + (1 + (1 + 0))) + 1, s45 >= 0, s45 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s285 + 108*s285*s286 + 108*s285*s287 + 108*s285*s288 + 108*s285*s289 + 108*s285*s290 + 108*s285*s291 + 108*s285*s292 + 108*s285*s293 + 108*s285*s294 + 54*s285^2 + 1387*s286 + 108*s286*s287 + 108*s286*s288 + 108*s286*s289 + 108*s286*s290 + 108*s286*s291 + 108*s286*s292 + 108*s286*s293 + 108*s286*s294 + 54*s286^2 + 1387*s287 + 108*s287*s288 + 108*s287*s289 + 108*s287*s290 + 108*s287*s291 + 108*s287*s292 + 108*s287*s293 + 108*s287*s294 + 54*s287^2 + 1387*s288 + 108*s288*s289 + 108*s288*s290 + 108*s288*s291 + 108*s288*s292 + 108*s288*s293 + 108*s288*s294 + 54*s288^2 + 1387*s289 + 108*s289*s290 + 108*s289*s291 + 108*s289*s292 + 108*s289*s293 + 108*s289*s294 + 54*s289^2 + 1387*s290 + 108*s290*s291 + 108*s290*s292 + 108*s290*s293 + 108*s290*s294 + 54*s290^2 + 1387*s291 + 108*s291*s292 + 108*s291*s293 + 108*s291*s294 + 54*s291^2 + 1387*s292 + 108*s292*s293 + 108*s292*s294 + 54*s292^2 + 1387*s293 + 108*s293*s294 + 54*s293^2 + 1387*s294 + 54*s294^2 }-> 1 + s442 + (1 + s46) :|: s442 >= 0, s442 <= inf35, s285 >= 0, s285 <= 0 + 1, s286 >= 0, s286 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s287 >= 0, s287 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s288 >= 0, s288 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s289 >= 0, s289 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s290 >= 0, s290 <= 1 + (1 + 0) + 1, s291 >= 0, s291 <= 1 + (1 + (1 + 0)) + 1, s292 >= 0, s292 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s293 >= 0, s293 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s294 >= 0, s294 <= 1 + (1 + (1 + (1 + 0))) + 1, s46 >= 0, s46 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s295 + 108*s295*s296 + 108*s295*s297 + 108*s295*s298 + 108*s295*s299 + 108*s295*s300 + 108*s295*s301 + 108*s295*s302 + 108*s295*s303 + 108*s295*s304 + 54*s295^2 + 1387*s296 + 108*s296*s297 + 108*s296*s298 + 108*s296*s299 + 108*s296*s300 + 108*s296*s301 + 108*s296*s302 + 108*s296*s303 + 108*s296*s304 + 54*s296^2 + 1387*s297 + 108*s297*s298 + 108*s297*s299 + 108*s297*s300 + 108*s297*s301 + 108*s297*s302 + 108*s297*s303 + 108*s297*s304 + 54*s297^2 + 1387*s298 + 108*s298*s299 + 108*s298*s300 + 108*s298*s301 + 108*s298*s302 + 108*s298*s303 + 108*s298*s304 + 54*s298^2 + 1387*s299 + 108*s299*s300 + 108*s299*s301 + 108*s299*s302 + 108*s299*s303 + 108*s299*s304 + 54*s299^2 + 1387*s300 + 108*s300*s301 + 108*s300*s302 + 108*s300*s303 + 108*s300*s304 + 54*s300^2 + 1387*s301 + 108*s301*s302 + 108*s301*s303 + 108*s301*s304 + 54*s301^2 + 1387*s302 + 108*s302*s303 + 108*s302*s304 + 54*s302^2 + 1387*s303 + 108*s303*s304 + 54*s303^2 + 1387*s304 + 54*s304^2 }-> 1 + s443 + (1 + s47) :|: s443 >= 0, s443 <= inf36, s295 >= 0, s295 <= 0 + 1, s296 >= 0, s296 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s297 >= 0, s297 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s298 >= 0, s298 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s299 >= 0, s299 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s300 >= 0, s300 <= 1 + (1 + 0) + 1, s301 >= 0, s301 <= 1 + (1 + (1 + 0)) + 1, s302 >= 0, s302 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s303 >= 0, s303 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s304 >= 0, s304 <= 1 + (1 + (1 + (1 + 0))) + 1, s47 >= 0, s47 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s305 + 108*s305*s306 + 108*s305*s307 + 108*s305*s308 + 108*s305*s309 + 108*s305*s310 + 108*s305*s311 + 108*s305*s312 + 108*s305*s313 + 108*s305*s314 + 54*s305^2 + 1387*s306 + 108*s306*s307 + 108*s306*s308 + 108*s306*s309 + 108*s306*s310 + 108*s306*s311 + 108*s306*s312 + 108*s306*s313 + 108*s306*s314 + 54*s306^2 + 1387*s307 + 108*s307*s308 + 108*s307*s309 + 108*s307*s310 + 108*s307*s311 + 108*s307*s312 + 108*s307*s313 + 108*s307*s314 + 54*s307^2 + 1387*s308 + 108*s308*s309 + 108*s308*s310 + 108*s308*s311 + 108*s308*s312 + 108*s308*s313 + 108*s308*s314 + 54*s308^2 + 1387*s309 + 108*s309*s310 + 108*s309*s311 + 108*s309*s312 + 108*s309*s313 + 108*s309*s314 + 54*s309^2 + 1387*s310 + 108*s310*s311 + 108*s310*s312 + 108*s310*s313 + 108*s310*s314 + 54*s310^2 + 1387*s311 + 108*s311*s312 + 108*s311*s313 + 108*s311*s314 + 54*s311^2 + 1387*s312 + 108*s312*s313 + 108*s312*s314 + 54*s312^2 + 1387*s313 + 108*s313*s314 + 54*s313^2 + 1387*s314 + 54*s314^2 }-> 1 + s444 + (1 + s48) :|: s444 >= 0, s444 <= inf37, s305 >= 0, s305 <= 0 + 1, s306 >= 0, s306 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s307 >= 0, s307 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s308 >= 0, s308 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s309 >= 0, s309 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s310 >= 0, s310 <= 1 + (1 + 0) + 1, s311 >= 0, s311 <= 1 + (1 + (1 + 0)) + 1, s312 >= 0, s312 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s313 >= 0, s313 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s314 >= 0, s314 <= 1 + (1 + (1 + (1 + 0))) + 1, s48 >= 0, s48 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 8742 + 1387*s315 + 108*s315*s316 + 108*s315*s317 + 108*s315*s318 + 108*s315*s319 + 108*s315*s320 + 108*s315*s321 + 108*s315*s322 + 108*s315*s323 + 108*s315*s324 + 54*s315^2 + 1387*s316 + 108*s316*s317 + 108*s316*s318 + 108*s316*s319 + 108*s316*s320 + 108*s316*s321 + 108*s316*s322 + 108*s316*s323 + 108*s316*s324 + 54*s316^2 + 1387*s317 + 108*s317*s318 + 108*s317*s319 + 108*s317*s320 + 108*s317*s321 + 108*s317*s322 + 108*s317*s323 + 108*s317*s324 + 54*s317^2 + 1387*s318 + 108*s318*s319 + 108*s318*s320 + 108*s318*s321 + 108*s318*s322 + 108*s318*s323 + 108*s318*s324 + 54*s318^2 + 1387*s319 + 108*s319*s320 + 108*s319*s321 + 108*s319*s322 + 108*s319*s323 + 108*s319*s324 + 54*s319^2 + 1387*s320 + 108*s320*s321 + 108*s320*s322 + 108*s320*s323 + 108*s320*s324 + 54*s320^2 + 1387*s321 + 108*s321*s322 + 108*s321*s323 + 108*s321*s324 + 54*s321^2 + 1387*s322 + 108*s322*s323 + 108*s322*s324 + 54*s322^2 + 1387*s323 + 108*s323*s324 + 54*s323^2 + 1387*s324 + 54*s324^2 }-> 1 + s445 + (1 + s49) :|: s445 >= 0, s445 <= inf38, s315 >= 0, s315 <= 0 + 1, s316 >= 0, s316 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s317 >= 0, s317 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s318 >= 0, s318 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s319 >= 0, s319 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s320 >= 0, s320 <= 1 + (1 + 0) + 1, s321 >= 0, s321 <= 1 + (1 + (1 + 0)) + 1, s322 >= 0, s322 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s323 >= 0, s323 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s324 >= 0, s324 <= 1 + (1 + (1 + (1 + 0))) + 1, s49 >= 0, s49 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s446 + (1 + s50) :|: s446 >= 0, s446 <= inf39, s50 >= 0, s50 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s447 + (1 + s51) :|: s447 >= 0, s447 <= inf40, s51 >= 0, s51 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s448 + (1 + s52) :|: s448 >= 0, s448 <= inf41, s52 >= 0, s52 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s449 + (1 + s53) :|: s449 >= 0, s449 <= inf42, s53 >= 0, s53 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s450 + (1 + s54) :|: s450 >= 0, s450 <= inf43, s54 >= 0, s54 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s451 + (1 + s55) :|: s451 >= 0, s451 <= inf44, s55 >= 0, s55 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s452 + (1 + s56) :|: s452 >= 0, s452 <= inf45, s56 >= 0, s56 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s453 + (1 + s57) :|: s453 >= 0, s453 <= inf46, s57 >= 0, s57 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s454 + (1 + s58) :|: s454 >= 0, s454 <= inf47, s58 >= 0, s58 <= 3, z >= 0, 0 = z0', z0' >= 0 TESTQUICKSORT2(z) -{ 272 }-> 1 + s455 + (1 + s59) :|: s455 >= 0, s455 <= inf48, s59 >= 0, s59 <= 3, z >= 0, 0 = z0', z0' >= 0 append(z, z') -{ 0 }-> s90 :|: s90 >= 0, s90 <= z + z', z' >= 0, z >= 0 append(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 append#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 append#1(z, z') -{ 0 }-> 1 + z0 + s91 :|: s91 >= 0, s91 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 appendD(z, z') -{ 0 }-> s :|: s >= 0, s <= z + z', z' >= 0, z >= 0 appendD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 appendD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 appendD#1(z, z') -{ 0 }-> 1 + z0 + s' :|: s' >= 0, s' <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort(z) -{ 0 }-> s366 :|: s366 >= 0, s366 <= z, z >= 0 quicksort(z) -{ 0 }-> 0 :|: z >= 0 quicksort#1(z) -{ 0 }-> s367 :|: s367 >= 0, s367 <= s333 + z0, s333 >= 0, s333 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> s368 :|: s368 >= 0, s368 <= 0 + z0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksort#1(z) -{ 0 }-> 0 :|: z = 0 quicksort#1(z) -{ 0 }-> 0 :|: z >= 0 quicksort#2(z, z') -{ 0 }-> s371 :|: s369 >= 0, s369 <= z0, s370 >= 0, s370 <= z1, s371 >= 0, s371 <= s369 + (1 + z' + s370), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s373 :|: s372 >= 0, s372 <= z0, s373 >= 0, s373 <= s372 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s375 :|: s374 >= 0, s374 <= z1, s375 >= 0, s375 <= 0 + (1 + z' + s374), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> s92 :|: s92 >= 0, s92 <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksort#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 quicksortD(z) -{ 0 }-> s395 :|: s395 >= 0, s395 <= 3 * z + 1, z >= 0 quicksortD(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#1(z) -{ 0 }-> s396 :|: s396 >= 0, s396 <= 3 * z0 + 1 + 3 * s343, s343 >= 0, s343 <= z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> s397 :|: s397 >= 0, s397 <= 3 * z0 + 1 + 3 * 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 quicksortD#1(z) -{ 0 }-> 0 :|: z = 0 quicksortD#1(z) -{ 0 }-> 0 :|: z >= 0 quicksortD#2(z, z') -{ 0 }-> s'' :|: s'' >= 0, s'' <= 0 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s400 :|: s398 >= 0, s398 <= 3 * z0 + 1, s399 >= 0, s399 <= 3 * z1 + 1, s400 >= 0, s400 <= s398 + (1 + z' + s399), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s402 :|: s401 >= 0, s401 <= 3 * z0 + 1, s402 >= 0, s402 <= s401 + (1 + z' + 0), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> s404 :|: s403 >= 0, s403 <= 3 * z1 + 1, s404 >= 0, s404 <= 0 + (1 + z' + s403), z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 quicksortD#2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split(z, z') -{ 0 }-> s334 :|: s334 >= 0, s334 <= z' + 1, z' >= 0, z >= 0 split(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> s325 :|: s325 >= 0, s325 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> s336 :|: s335 >= 0, s335 <= z1 + 1, s336 >= 0, s336 <= s335 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 split#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 split#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 split#2(z, z', z'') -{ 0 }-> s80 :|: s78 >= 0, s78 <= 3, s79 >= 0, s79 <= 2, s80 >= 0, s80 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 split#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 split#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 splitD(z, z') -{ 0 }-> s344 :|: s344 >= 0, s344 <= z' + 1, z' >= 0, z >= 0 splitD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> s330 :|: s330 >= 0, s330 <= 0 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> s346 :|: s345 >= 0, s345 <= z1 + 1, s346 >= 0, s346 <= s345 + z0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 splitD#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 splitD#1(z, z') -{ 0 }-> 1 + 0 + 0 :|: z' >= 0, z = 0 splitD#2(z, z', z'') -{ 0 }-> s83 :|: s81 >= 0, s81 <= 3, s82 >= 0, s82 <= 2, s83 >= 0, s83 <= z0 + z1 + z'' + 2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 splitD#2(z, z', z'') -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + z' + (1 + z4 + z'') :|: z = 2, z'' >= 0, z' >= 0, z4 >= 0 splitD#3(z, z', z'', z4) -{ 0 }-> 1 + (1 + z4 + z') + z'' :|: z'' >= 0, z = 1, z' >= 0, z4 >= 0 testList(z) -{ 0 }-> 0 :|: z >= 0 testList(z) -{ 0 }-> 1 + s95 + (1 + s96 + (1 + s97 + (1 + s98 + (1 + s99 + (1 + s100 + (1 + s101 + (1 + s102 + (1 + s103 + (1 + s104 + 0))))))))) :|: s95 >= 0, s95 <= 0 + 1, s96 >= 0, s96 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s97 >= 0, s97 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s98 >= 0, s98 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s99 >= 0, s99 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s100 >= 0, s100 <= 1 + (1 + 0) + 1, s101 >= 0, s101 <= 1 + (1 + (1 + 0)) + 1, s102 >= 0, s102 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s103 >= 0, s103 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s104 >= 0, s104 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s456 :|: s456 >= 0, s456 <= 1 + s105 + (1 + s106 + (1 + s107 + (1 + s108 + (1 + s109 + (1 + s110 + (1 + s111 + (1 + s112 + (1 + s113 + (1 + s114 + 0))))))))), s105 >= 0, s105 <= 0 + 1, s106 >= 0, s106 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s107 >= 0, s107 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s108 >= 0, s108 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s109 >= 0, s109 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s110 >= 0, s110 <= 1 + (1 + 0) + 1, s111 >= 0, s111 <= 1 + (1 + (1 + 0)) + 1, s112 >= 0, s112 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s113 >= 0, s113 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s114 >= 0, s114 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort(z) -{ 0 }-> s457 :|: s457 >= 0, s457 <= 0, z >= 0 testQuicksort(z) -{ 0 }-> 0 :|: z >= 0 testQuicksort2(z) -{ 0 }-> s458 :|: s458 >= 0, s458 <= 1 + s115 + (1 + s116 + (1 + s117 + (1 + s118 + (1 + s119 + (1 + s120 + (1 + s121 + (1 + s122 + (1 + s123 + (1 + s124 + 0))))))))), s115 >= 0, s115 <= 0 + 1, s116 >= 0, s116 <= 1 + (1 + (1 + (1 + (1 + 0)))) + 1, s117 >= 0, s117 <= 1 + (1 + (1 + (1 + (1 + (1 + 0))))) + 1, s118 >= 0, s118 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))))) + 1, s119 >= 0, s119 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0))))))) + 1, s120 >= 0, s120 <= 1 + (1 + 0) + 1, s121 >= 0, s121 <= 1 + (1 + (1 + 0)) + 1, s122 >= 0, s122 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))) + 1, s123 >= 0, s123 <= 1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))) + 1, s124 >= 0, s124 <= 1 + (1 + (1 + (1 + 0))) + 1, z >= 0 testQuicksort2(z) -{ 0 }-> s459 :|: s459 >= 0, s459 <= 0, z >= 0 testQuicksort2(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: Previous analysis results are: appendD: runtime: O(1) [0], size: O(n^1) [z + z'] appendD#1: runtime: O(1) [0], size: O(n^1) [z + z'] split#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #CKGT: runtime: O(1) [0], size: O(1) [3] splitD#3: runtime: O(1) [0], size: O(n^1) [2 + z' + z'' + z4] #ckgt: runtime: O(1) [0], size: O(1) [2] #COMPARE: runtime: O(1) [0], size: O(n^1) [8 + z + z'] TESTLIST: runtime: O(1) [2], size: O(1) [4] #ABS: runtime: O(1) [1], size: O(1) [3] APPEND#1: runtime: O(n^1) [3 + 2*z], size: O(n^1) [2*z] APPEND: runtime: O(n^1) [4 + 2*z], size: O(n^1) [1 + 2*z] #compare: runtime: O(1) [0], size: O(1) [3] SPLIT#3: runtime: O(1) [1], size: O(1) [1] APPENDD: runtime: O(n^1) [2 + 2*z], size: O(n^1) [1 + 2*z] APPENDD#1: runtime: O(n^1) [1 + 2*z], size: O(n^1) [2*z] append#1: runtime: O(1) [0], size: O(n^1) [z + z'] append: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD#3: runtime: O(1) [1], size: O(1) [1] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] split#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #GREATER: runtime: O(1) [1], size: O(n^1) [12 + z + z'] splitD#2: runtime: O(1) [0], size: O(n^1) [1 + z + z''] #greater: runtime: O(1) [0], size: O(1) [2] testList: runtime: O(1) [0], size: O(1) [74] split#1: runtime: O(1) [0], size: O(n^1) [1 + z] SPLIT#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] SPLITD#2: runtime: O(1) [3], size: O(n^1) [14 + z' + z''] splitD#1: runtime: O(1) [0], size: O(n^1) [1 + z] split: runtime: O(1) [0], size: O(n^1) [1 + z'] SPLIT#1: runtime: O(n^1) [9 + 5*z], size: O(n^2) [15*z + z*z' + z^2] SPLIT: runtime: O(n^1) [10 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] quicksort#1: runtime: O(1) [0], size: O(n^1) [z] quicksort#2: runtime: O(1) [0], size: O(n^1) [z + z'] SPLITD: runtime: O(n^1) [2 + 5*z'], size: O(n^2) [1 + z*z' + 15*z' + z'^2] SPLITD#1: runtime: O(n^1) [1 + 5*z], size: O(n^2) [30 + 32*z + 2*z*z' + 2*z^2 + 2*z'] splitD: runtime: O(1) [0], size: O(n^1) [1 + z'] quicksortD#2: runtime: O(1) [0], size: O(n^1) [1 + 3*z + 3*z'] quicksortD#1: runtime: O(1) [0], size: O(n^1) [1 + 3*z] QUICKSORT#2: runtime: O(n^2) [1 + 189*z + 54*z^2], size: INF QUICKSORT: runtime: O(n^2) [269 + 307*z + 54*z^2], size: INF QUICKSORT#1: runtime: O(n^2) [268 + 307*z + 54*z^2], size: INF quicksort: runtime: O(1) [0], size: O(n^1) [z] QUICKSORTD: runtime: O(n^2) [40 + 151*z + 102*z^2], size: INF QUICKSORTD#1: runtime: O(n^2) [359 + 1242*z + 816*z^2], size: INF QUICKSORTD#2: runtime: O(n^2) [352 + 1232*z + 816*z^2], size: INF quicksortD: runtime: O(1) [0], size: O(n^1) [1 + 3*z] TESTQUICKSORT2: runtime: O(1) [318694], size: INF TESTQUICKSORT: runtime: O(1) [318694], size: INF testQuicksort2: runtime: O(1) [0], size: O(1) [74] testQuicksort: runtime: O(1) [0], size: O(1) [74] ---------------------------------------- (247) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (248) BOUNDS(1, n^2) ---------------------------------------- (249) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (250) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c15 #ABS(#neg(z0)) -> c16 #ABS(#pos(z0)) -> c17 #ABS(#s(z0)) -> c18 #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) APPEND#1(nil, z0) -> c22 APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) APPENDD#1(nil, z0) -> c25 QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) QUICKSORT#1(nil) -> c28 QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) QUICKSORTD#1(nil) -> c33 QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) SPLIT#1(nil, z0) -> c38 SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLIT#3(#false, z0, z1, z2) -> c40 SPLIT#3(#true, z0, z1, z2) -> c41 SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) SPLITD#1(nil, z0) -> c44 SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLITD#3(#false, z0, z1, z2) -> c46 SPLITD#3(#true, z0, z1, z2) -> c47 TESTLIST(z0) -> c48(#ABS(#0)) TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) The (relative) TRS S consists of the following rules: #CKGT(#EQ) -> c #CKGT(#GT) -> c1 #CKGT(#LT) -> c2 #COMPARE(#0, #0) -> c3 #COMPARE(#0, #neg(z0)) -> c4 #COMPARE(#0, #pos(z0)) -> c5 #COMPARE(#0, #s(z0)) -> c6 #COMPARE(#neg(z0), #0) -> c7 #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c9 #COMPARE(#pos(z0), #0) -> c10 #COMPARE(#pos(z0), #neg(z1)) -> c11 #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c13 #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) append(z0, z1) -> append#1(z0, z1) append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) append#1(nil, z0) -> z0 appendD(z0, z1) -> appendD#1(z0, z1) appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) appendD#1(nil, z0) -> z0 quicksort(z0) -> quicksort#1(z0) quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) quicksort#1(nil) -> nil quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) quicksortD(z0) -> quicksortD#1(z0) quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) quicksortD#1(nil) -> nil quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) split(z0, z1) -> split#1(z1, z0) split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) split#1(nil, z0) -> tuple#2(nil, nil) split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) splitD(z0, z1) -> splitD#1(z1, z0) splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) splitD#1(nil, z0) -> tuple#2(nil, nil) splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) testQuicksort(z0) -> quicksort(testList(#unit)) testQuicksort2(z0) -> quicksort(testList(#unit)) Rewrite Strategy: INNERMOST ---------------------------------------- (251) DecreasingLoopProof (LOWER BOUND(ID)) The following loop(s) give(s) rise to the lower bound Omega(n^1): The rewrite sequence APPENDD(::(z01_2, z12_2), z1) ->^+ c23(c24(APPENDD(z12_2, z1))) gives rise to a decreasing loop by considering the right hand sides subterm at position [0,0]. The pumping substitution is [z12_2 / ::(z01_2, z12_2)]. The result substitution is [ ]. ---------------------------------------- (252) Complex Obligation (BEST) ---------------------------------------- (253) Obligation: Proved the lower bound n^1 for the following obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c15 #ABS(#neg(z0)) -> c16 #ABS(#pos(z0)) -> c17 #ABS(#s(z0)) -> c18 #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) APPEND#1(nil, z0) -> c22 APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) APPENDD#1(nil, z0) -> c25 QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) QUICKSORT#1(nil) -> c28 QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) QUICKSORTD#1(nil) -> c33 QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) SPLIT#1(nil, z0) -> c38 SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLIT#3(#false, z0, z1, z2) -> c40 SPLIT#3(#true, z0, z1, z2) -> c41 SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) SPLITD#1(nil, z0) -> c44 SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLITD#3(#false, z0, z1, z2) -> c46 SPLITD#3(#true, z0, z1, z2) -> c47 TESTLIST(z0) -> c48(#ABS(#0)) TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) The (relative) TRS S consists of the following rules: #CKGT(#EQ) -> c #CKGT(#GT) -> c1 #CKGT(#LT) -> c2 #COMPARE(#0, #0) -> c3 #COMPARE(#0, #neg(z0)) -> c4 #COMPARE(#0, #pos(z0)) -> c5 #COMPARE(#0, #s(z0)) -> c6 #COMPARE(#neg(z0), #0) -> c7 #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c9 #COMPARE(#pos(z0), #0) -> c10 #COMPARE(#pos(z0), #neg(z1)) -> c11 #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c13 #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) append(z0, z1) -> append#1(z0, z1) append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) append#1(nil, z0) -> z0 appendD(z0, z1) -> appendD#1(z0, z1) appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) appendD#1(nil, z0) -> z0 quicksort(z0) -> quicksort#1(z0) quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) quicksort#1(nil) -> nil quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) quicksortD(z0) -> quicksortD#1(z0) quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) quicksortD#1(nil) -> nil quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) split(z0, z1) -> split#1(z1, z0) split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) split#1(nil, z0) -> tuple#2(nil, nil) split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) splitD(z0, z1) -> splitD#1(z1, z0) splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) splitD#1(nil, z0) -> tuple#2(nil, nil) splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) testQuicksort(z0) -> quicksort(testList(#unit)) testQuicksort2(z0) -> quicksort(testList(#unit)) Rewrite Strategy: INNERMOST ---------------------------------------- (254) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (255) BOUNDS(n^1, INF) ---------------------------------------- (256) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c15 #ABS(#neg(z0)) -> c16 #ABS(#pos(z0)) -> c17 #ABS(#s(z0)) -> c18 #GREATER(z0, z1) -> c19(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) APPEND(z0, z1) -> c20(APPEND#1(z0, z1)) APPEND#1(::(z0, z1), z2) -> c21(APPEND(z1, z2)) APPEND#1(nil, z0) -> c22 APPENDD(z0, z1) -> c23(APPENDD#1(z0, z1)) APPENDD#1(::(z0, z1), z2) -> c24(APPENDD(z1, z2)) APPENDD#1(nil, z0) -> c25 QUICKSORT(z0) -> c26(QUICKSORT#1(z0)) QUICKSORT#1(::(z0, z1)) -> c27(QUICKSORT#2(split(z0, z1), z0), SPLIT(z0, z1)) QUICKSORT#1(nil) -> c28 QUICKSORT#2(tuple#2(z0, z1), z2) -> c29(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z0)) QUICKSORT#2(tuple#2(z0, z1), z2) -> c30(APPEND(quicksort(z0), ::(z2, quicksort(z1))), QUICKSORT(z1)) QUICKSORTD(z0) -> c31(QUICKSORTD#1(z0)) QUICKSORTD#1(::(z0, z1)) -> c32(QUICKSORTD#2(splitD(z0, z1), z0), SPLITD(z0, z1)) QUICKSORTD#1(nil) -> c33 QUICKSORTD#2(tuple#2(z0, z1), z2) -> c34(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z0)) QUICKSORTD#2(tuple#2(z0, z1), z2) -> c35(APPENDD(quicksortD(z0), ::(z2, quicksortD(z1))), QUICKSORTD(z1)) SPLIT(z0, z1) -> c36(SPLIT#1(z1, z0)) SPLIT#1(::(z0, z1), z2) -> c37(SPLIT#2(split(z2, z1), z2, z0), SPLIT(z2, z1)) SPLIT#1(nil, z0) -> c38 SPLIT#2(tuple#2(z0, z1), z2, z3) -> c39(SPLIT#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLIT#3(#false, z0, z1, z2) -> c40 SPLIT#3(#true, z0, z1, z2) -> c41 SPLITD(z0, z1) -> c42(SPLITD#1(z1, z0)) SPLITD#1(::(z0, z1), z2) -> c43(SPLITD#2(splitD(z2, z1), z2, z0), SPLITD(z2, z1)) SPLITD#1(nil, z0) -> c44 SPLITD#2(tuple#2(z0, z1), z2, z3) -> c45(SPLITD#3(#greater(z3, z2), z0, z1, z3), #GREATER(z3, z2)) SPLITD#3(#false, z0, z1, z2) -> c46 SPLITD#3(#true, z0, z1, z2) -> c47 TESTLIST(z0) -> c48(#ABS(#0)) TESTLIST(z0) -> c49(#ABS(#pos(#s(#s(#s(#s(#0))))))) TESTLIST(z0) -> c50(#ABS(#pos(#s(#s(#s(#s(#s(#0)))))))) TESTLIST(z0) -> c51(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))))) TESTLIST(z0) -> c52(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#0)))))))))) TESTLIST(z0) -> c53(#ABS(#pos(#s(#0)))) TESTLIST(z0) -> c54(#ABS(#pos(#s(#s(#0))))) TESTLIST(z0) -> c55(#ABS(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))) TESTLIST(z0) -> c56(#ABS(#pos(#s(#s(#s(#s(#s(#s(#0))))))))) TESTLIST(z0) -> c57(#ABS(#pos(#s(#s(#s(#0)))))) TESTQUICKSORT(z0) -> c58(QUICKSORT(testList(#unit)), TESTLIST(#unit)) TESTQUICKSORT2(z0) -> c59(QUICKSORT(testList(#unit)), TESTLIST(#unit)) The (relative) TRS S consists of the following rules: #CKGT(#EQ) -> c #CKGT(#GT) -> c1 #CKGT(#LT) -> c2 #COMPARE(#0, #0) -> c3 #COMPARE(#0, #neg(z0)) -> c4 #COMPARE(#0, #pos(z0)) -> c5 #COMPARE(#0, #s(z0)) -> c6 #COMPARE(#neg(z0), #0) -> c7 #COMPARE(#neg(z0), #neg(z1)) -> c8(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c9 #COMPARE(#pos(z0), #0) -> c10 #COMPARE(#pos(z0), #neg(z1)) -> c11 #COMPARE(#pos(z0), #pos(z1)) -> c12(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c13 #COMPARE(#s(z0), #s(z1)) -> c14(#COMPARE(z0, z1)) #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) append(z0, z1) -> append#1(z0, z1) append#1(::(z0, z1), z2) -> ::(z0, append(z1, z2)) append#1(nil, z0) -> z0 appendD(z0, z1) -> appendD#1(z0, z1) appendD#1(::(z0, z1), z2) -> ::(z0, appendD(z1, z2)) appendD#1(nil, z0) -> z0 quicksort(z0) -> quicksort#1(z0) quicksort#1(::(z0, z1)) -> quicksort#2(split(z0, z1), z0) quicksort#1(nil) -> nil quicksort#2(tuple#2(z0, z1), z2) -> append(quicksort(z0), ::(z2, quicksort(z1))) quicksortD(z0) -> quicksortD#1(z0) quicksortD#1(::(z0, z1)) -> quicksortD#2(splitD(z0, z1), z0) quicksortD#1(nil) -> nil quicksortD#2(tuple#2(z0, z1), z2) -> appendD(quicksortD(z0), ::(z2, quicksortD(z1))) split(z0, z1) -> split#1(z1, z0) split#1(::(z0, z1), z2) -> split#2(split(z2, z1), z2, z0) split#1(nil, z0) -> tuple#2(nil, nil) split#2(tuple#2(z0, z1), z2, z3) -> split#3(#greater(z3, z2), z0, z1, z3) split#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) split#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) splitD(z0, z1) -> splitD#1(z1, z0) splitD#1(::(z0, z1), z2) -> splitD#2(splitD(z2, z1), z2, z0) splitD#1(nil, z0) -> tuple#2(nil, nil) splitD#2(tuple#2(z0, z1), z2, z3) -> splitD#3(#greater(z3, z2), z0, z1, z3) splitD#3(#false, z0, z1, z2) -> tuple#2(::(z2, z0), z1) splitD#3(#true, z0, z1, z2) -> tuple#2(z0, ::(z2, z1)) testList(z0) -> ::(#abs(#0), ::(#abs(#pos(#s(#s(#s(#s(#0)))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#0))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#s(#0))))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#0))))))))), ::(#abs(#pos(#s(#0))), ::(#abs(#pos(#s(#s(#0)))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#s(#s(#0)))))))))), ::(#abs(#pos(#s(#s(#s(#s(#s(#s(#0)))))))), ::(#abs(#pos(#s(#s(#s(#0))))), nil)))))))))) testQuicksort(z0) -> quicksort(testList(#unit)) testQuicksort2(z0) -> quicksort(testList(#unit)) Rewrite Strategy: INNERMOST